C语言写全部代码输出所有三位水仙花数的代码
时间: 2024-12-17 22:47:38 浏览: 1
在C语言中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个简单的C程序,它会遍历所有的三位数并检查是否是水仙花数:
```c
#include <stdio.h>
// 函数声明
int is_armstrong(int num);
int main() {
int i;
for (i = 100; i <= 999; ++i) {
if (is_armstrong(i)) {
printf("%d 是水仙花数。\n", i);
}
}
return 0;
}
// 检查是否为水仙花数的函数
int is_armstrong(int num) {
int digits[4], sum = 0, temp = num;
// 将数字分解成单个数字并存储到数组中
while (temp != 0) {
digits[sum] = temp % 10;
sum++;
temp /= 10;
}
// 计算每个数字的立方并加总
for (int i = 0; i < sum; ++i) {
sum += digits[i] * digits[i] * digits[i];
}
// 如果和等于原数,则返回1,表示是水仙花数;否则返回0
return (num == sum) ? 1 : 0;
}
```
阅读全文