用C语言定义一个函数,求解水仙花数。通过主函数调用该函数,求100-999的全部水仙花数。
时间: 2025-01-01 21:40:43 浏览: 14
在C语言中,我们可以定义一个函数`is_armstrong_number`用于检查一个整数是否是水仙花数。水仙花数是指一个三位数,其各位数字立方和等于它本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是完整的C代码实现:
```c
#include <stdio.h>
// 函数定义,判断输入的整数是否为水仙花数
int is_armstrong_number(int num) {
int original_num, remainder, sum = 0;
original_num = num;
// 对于每一位数进行处理
while (original_num != 0) {
remainder = original_num % 10;
sum += pow(remainder, 3); // 使用pow计算立方
original_num /= 10;
}
// 如果原始数和立方和相等,则为水仙花数
if (sum == original_num)
return 1; // 返回1表示是水仙花数
else
return 0; // 否则返回0
}
int main() {
for (int i = 100; i <= 999; ++i) {
if (is_armstrong_number(i))
printf("%d 是一个水仙花数。\n", i);
}
return 0;
}
```
阅读全文