请用c语言设计程序计算并输出所有的水仙花数
时间: 2024-12-21 20:31:15 浏览: 0
c语言程序设计:水仙花,输出1800~2010间所有的闰年等
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
下面是一个简单的C语言程序,用于找出并打印所有小于1000的水仙花数:
```c
#include <stdio.h>
// 函数定义,判断是否是水仙花数
int isArmstrong(int num) {
int original_num, remainder, sum = 0;
original_num = num;
// 将数字转换为字符串便于处理每一位
char str[4];
sprintf(str, "%d", num);
while (str[0]) {
remainder = atoi(&str[0]);
sum += remainder * remainder * remainder; // 立方和
str++; // 移动指针到下一个数字
}
return original_num == sum; // 如果原始数和立方和相等,则是水仙花数
}
int main() {
for (int i = 100; i <= 999; ++i) { // 遍历三位数
if (isArmstrong(i)) {
printf("%d ", i); // 打印找到的水仙花数
}
}
return 0;
}
```
阅读全文