感觉自己总是把问题复杂化...一个简单的问题总是求解的很麻烦
唉 继续努力吧...
参考代码如下:
#include <stdio.h> int main() { int num = 100; //num是要被检测的三位数,从100开始 int sum = 0; //各位数字的立方和 int rest; //存放所算出的每一位的数字 int tmp; //用一个临时变量存放需要计算的num while (num <= 999) //检测所有三位数 { tmp = num; while (tmp != 0) { rest = tmp % 10; sum += rest * rest * rest; tmp = tmp / 10; } if (sum == num) //若所求总和sum和num相等则是水仙花数 打印 { printf("%d\n", num); } sum = 0; //之前一直没输出,原来是忘了这一步 num++; } return 0; }
0.0分
0 人评分