解题思路:
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语言代码)不知道怎么直接在scanf中用枚举变量浏览:1304 |
蛇行矩阵 (C语言代码)浏览:742 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:624 |
剪刀石头布 (C语言代码)浏览:1746 |
printf基础练习2 (C语言代码)浏览:644 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
幸运数 (C++代码)浏览:1258 |
Minesweeper (C语言描述,蓝桥杯)浏览:1121 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:401 |
A+B for Input-Output Practice (IV) (C语言代码)浏览:503 |