解题思路:
1.求水仙花数的关键是对个位上的数、十位上的数和百位上的数的寻找
1.1求个位上的数可以直接该数字对10取余。即为个位上的数
1.2十位上的数首先需要对该数字num对100取余,可以得到一个两位数,再将这个两位数对10整除即可求得
1.3百位上的数可以直接对该数字num对100整除
2.可以用一层循环找出从100到999的所有三位数
3.最后可以使用if判断,是水仙花数就打印输出,否则num++,进行下一次循环
注意事项:
使用math.h中的pow函数可以简化代码长度
三位数包括100和999之间
参考代码:
#include<stdio.h> #include<math.h> int main() { int num=100; int on_ten; int on_single; int on_hundred; while(num<1000) { on_hundred = num / 100; on_single = num % 10; on_ten = num % 100 / 10; int cube_num = pow(on_hundred,3) + pow(on_ten,3) + pow(on_single,3); if(num==cube_num) printf("%d\n",num); num++; } return 0; }
0.0分
1 人评分
【明明的随机数】 (C语言代码)浏览:706 |
C语言程序设计教程(第三版)课后习题6.9 (C++代码)论pow函数的应用浏览:1079 |
C二级辅导-计负均正 (C语言代码)浏览:607 |
矩阵转置 (C语言代码)浏览:1565 |
简单的a+b (C语言代码)浏览:685 |
矩形面积交 (Java代码)浏览:1281 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:982 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:400 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5274 |