#include <stdio.h>
int main()
{
//定义三位数num,个位数sd,十位数td,百位数hd
int num, sd, td, hd;
//循环所有三位数
for( num=100; num<1000 ; num++ );
{
hd =num/100;
td =num%100/10;
sd =num%10;
if( num==hd*hd*hd+td*td*td+sd*sd*sd )
{
printf("水仙花数字:%d\n", num);
}
}
return 0;
}
如果加了分号,就是单纯的循环不执行操作,直到num=1000就不等于1000就跳出循环输出1000
#include <stdio.h>
int main()
{
//定义三位数num,个位数sd,十位数td,百位数hd
int num, sd, td, hd;
//循环所有三位数
for( num=100; num<1000 ; num++ );//把 ; 符号删掉!!!!!!!!!
{
hd =num/100;
td =num%100/10;
sd =num%10;
if( num==hd*hd*hd+td*td*td+sd*sd*sd )
{
printf("水仙花数字:%d\n", num);
}
}
return 0;
}
我刚试了一下你这个好像没问题,你重开一下网站试试
td=num%100/10这个运算的循序是从右到左,应该是的你换成td=(num%100)/10试试得,我也是个初学者,不是太清楚!