用C语言编写程序 输出100-999中所有的水仙花数。提示:若三位数ABC满足ABC = A3+B3+C3,则称其为水仙花数。
时间: 2024-09-06 10:02:26 浏览: 25
在C语言中,我们可以创建一个函数来检查一个数字是否是水仙花数,并遍历100到999范围内的所有数字进行判断。以下是实现这一功能的一个简单示例:
```c
#include <stdio.h>
// 检查是否为水仙花数的辅助函数
int is_armstrong_number(int num) {
int sum = 0, temp;
// 将数字分解为各位数字并计算它们的立方和
temp = num;
while (temp != 0) {
sum += pow((temp % 10), 3); // 使用pow函数计算立方
temp /= 10;
}
// 如果原数等于各位数字立方之和,那么它是水仙花数
return sum == num;
}
int main() {
for (int i = 100; i <= 999; ++i) {
if (is_armstrong_number(i)) {
printf("%d 是一个水仙花数。\n", i);
}
}
return 0;
}
```
在这个程序中,我们首先定义了一个`is_armstrong_number`函数,它接受一个整数作为输入,然后通过取模和除法操作获取每一位数字,并计算它们各自的立方和。如果最终结果与原始数字相等,说明它是水仙花数。
在主函数`main`里,我们循环遍历100到999的所有整数,对每个数调用`is_armstrong_number`,如果是水仙花数就打印出来。