用C语言帮我写一个判断100到999的水仙花数程序并输出
时间: 2024-11-24 12:40:27 浏览: 15
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是使用C语言编写的一个简单程序,用于找出100到999之间的所有水仙花数:
```c
#include <stdio.h>
int is_armstrong_number(int num) {
int sum = 0, original_num, remainder;
// 将数字转换为字符串便于处理每一位
char str[4];
sprintf(str, "%d", num);
// 计算每个位的立方和
original_num = atoi(str); // 转换回整数
while (original_num != 0) {
remainder = original_num % 10;
sum += remainder * remainder * remainder; // 立方
original_num /= 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`函数,它检查一个给定的数是否为水仙花数。然后,在主函数中,遍历从100到999的所有数,并使用这个函数判断它们是否为水仙花数。
运行此程序会输出所有100到999之间的水仙花数。
阅读全文