全部问题 > 当前问题

水仙花数程序如何循环的?

#include <stdio.h>

main()

{

int i,a,b,c;

for(i=100;i<1000;i++)

{

a=i/100;

b=i%100/10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

{

printf("%d\n",i);

}

}

}

Q1:FOR循环开始,i=100,然后执行a=,b=,c=,再执行IF判断,如果IF不成立就继续调回到FOR循环?

Q2:FOR循环开始,i=100,然后执行a=,b=,c=,再执行IF判断,如果IF成立那就执行PRINTF,然后不应该跳出了吗?怎么还要调回FOR循环?


匿名课官 2016-9-17 23:44:06

共 3 个回答

四年半。 2016-9-18 10:24:45

1:yes。 2:if在for循环里面,执行完100,还要继续执行for循环。

四年半。 2016-9-18 10:28:08

if成立那就输出一个水仙花数,继续再执行for循环,这个程序是找出1000以内谁是水仙花数

最佳答案

悟空 2016-9-18 17:11:49

for 循环中,除非加入break;

否则只要满足for()中的条件就会继续执行

问题来自: 水仙花数