在C语言中,判断一个数是否为水仙花数(也称为阿姆斯特朗数)的步骤如下:
遍历所有三位数 :从100到999。拆分数字的各个位:
对于每个三位数,将其拆分为个位、十位和百位。
计算每个位的立方和:
将拆分出的个位、十位和百位数字分别立方,然后求和。
比较立方和与原数:
如果立方和等于原数,则该数是一个水仙花数。
```c
include include int main() { int i, a, b, c; for (a = 0; a <= 9; a++) { // 取百位数字 for (b = 0; b <= 9; b++) { // 取十位数字 for (c = 0; c <= 9; c++) { // 取个位数字 i = a * 100 + b * 10 + c; // 计算出这个数 if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) { printf("%d 是水仙花数\n", i); } } } } return 0; } ``` 代码解释: 包含头文件 `include `include `int main()`:程序的入口点。 三个嵌套的 `for` 循环分别用于遍历百位、十位和个位数字,范围是0到9。 `i = a * 100 + b * 10 + c;`:计算当前的三位数。 `if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i)`:判断当前三位数是否为水仙花数,如果是,则输出该数。 示例输出: ``` 153 是水仙花数 370 是水仙花数 371 是水仙花数 407 是水仙花数 ``` 通过上述代码,你可以有效地判断一个数是否为水仙花数。主函数
嵌套循环
判断水仙花数