解题思路:水仙花数只能是三位数,所以先分别求出百位,十位,个位三个数字,再分别求出它们的立方,最后相加和原数字相比较就行,利用for循环从100到1000逐个检查即可
注意事项:三个数字的立方和可能会很大,所以可能要用double类型的数字储存它
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
for (int i = 100; i < 1000; i++)
{
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
double num = pow(a, 3) + pow(b, 3) + pow(c, 3);
if (i == num)
{
printf("%d\n", i);
}
}
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:618 |
C二级辅导-进制转换 (C语言代码)浏览:649 |
拆分位数 (C语言代码)浏览:1349 |
WU-输出正反三角形 (C++代码)浏览:1072 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:640 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1962 |
简单的a+b (C语言代码)浏览:566 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:564 |
C二级辅导-公约公倍 (C语言代码)浏览:533 |
C语言训练-大、小写问题 (C语言代码)浏览:715 |