#include
void main ()
{
int a,b,c,d,i;
int flag;
flag =0;
for (i=100;i<=999;i++)
{ a=i%10;
b=i/10%10;
c=i/100;
d=(a*a*a+b*b*b+c*c*c);
if (i==d)
{
printf("%d\n",i);
}
}
}
无需多加一步 更无需加continue; 因为循环会自动执行下一步的
如果你要是求第一个水仙花数的话 那么应该是跳出循环 用的是break;
不需要flag变量控制,满足条件即可输出,程序修改为:
#include
void main ()
{
int a,b,c,d,i;
for (i=100;i<=999;i++)
{ a=i%10;
b=i/10%10;
c=i/100;
d=(a*a*a+b*b*b+c*c*c);
if (i==d) printf("%d\t",i);
}
}
不需要flag变量控制,满足条件即可输出,程序修改为:
#include
void
main
()
{
int
a,b,c,d,i;
for
(i=100;i<=999;i++)
{
a=i%10;
b=i/10%10;
c=i/100;
d=(a*a*a+b*b*b+c*c*c);
if
(i==d)
printf("%d\t",i);
}
}
请将flag=1;和continue;换成printf ("%d\n",i);
再把最后的 if (flag)
printf("%d\n",i);
删掉,应该就可以了
void main ()
{
int a,b,c,d,i;
int flag;
flag =0;
for (i=100;i<=999;i++)
{ a=i%10;
b=i/10%10;
c=i/100;
d=(a*a*a+b*b*b+c*c*c);
if (i==d)
printf("%d\n",i);
}
}