求助,为什么没有输出
程序代码:
#include<stdio.h> main() { int a,b1,b2,b3,i; a=100; for(i=0;i<900;i++) { a+=i; b1=a/100; b2=(a%100)/10; b3=a%10; if(a==b1*b1*b1+b2*b2*b2+b3*b3*b3) printf("%d",a); } } 题目要求输出所有三位的水仙花数,为什么没有输出呢?求大神
#include<stdio.h> main() { int a,b1,b2,b3,i; a=100; for(i=0;i<900;i++) { a+=i; //这里使用+i是不对的,这么写是每次让a加上i,而每一次i的值是在增加的,第一次i是1,第二次i是2, //这时候相当于给a加上了2,再循环一次i就变成了3,再执行这句a+=i实际上市a=a+3,以此类推。所以, //直接把水仙花数跳过了。最终没有输出 b1=a/100; b2=(a%100)/10; b3=a%10; if(a==b1*b1*b1+b2*b2*b2+b3*b3*b3) printf("%d",a); } }