水仙花数C语言程序答案
时间: 2025-06-19 17:46:01 浏览: 15
以下是用C语言编写的水仙花数程序代码,能够正确输出所有三位数范围内的水仙花数:
### 水仙花数程序实现
```c
#include <stdio.h>
int main() {
int g, s, b, x, y; // 定义变量[^1]
for (x = 100; x < 1000; x++) { // 遍历所有三位数
g = x % 10; // 提取个位数字
s = x / 10 % 10; // 提取十位数字
b = x / 100; // 提取百位数字
y = g * g * g + s * s * s + b * b * b; // 计算各位数字的立方和
if (x == y) { // 判断是否为水仙花数
printf("%d\n", x); // 输出水仙花数
}
}
return 0;
}
```
此程序通过遍历从100到999的所有三位数,提取每个数字的个位、十位和百位,并计算它们的立方和。如果某个数字等于其各位数字的立方和,则该数字为水仙花数并被输出[^2]。
另一种实现方式如下所示:
```c
#include <stdio.h>
int main() {
int i, a, b, c; // 定义变量
for (i = 100; i < 1000; i++) { // 遍历所有三位数
a = i / 100; // 提取百位数字
b = (i - a * 100) / 10; // 提取十位数字
c = i % 10; // 提取个位数字
if (i == a * a * a + b * b * b + c * c * c) { // 判断是否为水仙花数
printf("水仙花数有:%d\n", i); // 输出水仙花数
}
}
return 0;
}
```
这种实现方式同样可以正确输出所有水仙花数[^3]。
### 注意事项
在编写此类程序时,需要确保对每一位数字进行正确的提取和计算。此外,程序中的循环范围应严格限制在三位数范围内(即100至999),以保证结果的准确性[^4]。
阅读全文
相关推荐



















