请大家帮忙看一下这个C程序

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:17:11
main()
{
int v,p,m=0,b;
for(v=100;v<=999;v++)
{
b=v;
while(v!=0)
{
p=v%10;
v/=10;
m+=p*p*p;
}
if (m==1099)
printf("%d",b);
}
scanf("%d",&b);
}
这段代码的功能是:找出100~999之间的所有其个位,十位,百位它们的立方和等于1099的数字.可是为什么会连续不断的显示1呢?

先贴个正确的程序:

#include<stdio.h>
main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;
if((a*a*a+b*b*b+c*c*c)==1099)
printf("%6d",i);
}
}

#include"stdio.h"
void main()
{
int v,p,m,b;
for(v=100;v<=999;v++)
{
m=0;
b=v;
while(b!=0)
{
p=b%10;
b/=10;
m+=p*p*p;
}
if (m==1099)
printf("%d\n",v);
}
scanf("%d",&b);
}

main()
{
int v,p,n,m=0,g;
for(v=100;v<=999;v++)
{ p=v/100;
n=(v%100)/10;
g=(v%100)%10;
m=p*p*p+n*n*n+g*g*g;
if (m==1099)
printf("%d ",v);
}
}
你的思路很有问题