调试了一下,主要问题在于处理连续多行输入。
修改代码和注释如下:
#include
int main()
{
int a,b,m,n,q,x,y,z,i=0;
int k,array[20][2];//定义二维数组储存多行输入,最多20组
char Temp;//定义字符临时变量,储存/吃掉行结束符
while(1) //处理多行输入,以输入0,0结束输入(题目未明确)
{
if(scanf("%d%d%c",&array[i][0],&array[i][1],&Temp)==3)
{
if((array[i][0]==0)&&array[i][1]==0)//以输入0,0结束输入
break;
i++;//统计实际输入多少组
}
}
for(k=0;k {
int j=0;
if(array[k][0]{
m=array[k][0];
n=array[k][1];
}
else
{
m=array[k][1];
n=array[k][0];
}
for(m;m<=n;m++)
{
x=m/100;//百
q=m%100;
y=q/10;//十位
z=q%10;//个位
if(x*x*x+y*y*y+z*z*z==m)
{
printf("%d ",m);
j++;
}
}
if(j==0)
printf("no");
printf("\n");//每次循环完成输出换行符
}
return 0;
}
在VC6下调试通过,如下图:
供参考。
查看高亮行