C语言中:输出100~n中所有的水仙花数,每行输出一个
时间: 2024-12-04 18:24:23 浏览: 32
在C语言中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。要输出100到n范围内的所有水仙花数,你可以编写一个循环结构遍历这个范围,并检查每个数是否满足水仙花的条件。以下是简单的C程序示例:
```c
#include <stdio.h>
int isArmstrong(int num) {
int digits[4], sum = 0;
// 分离每一位数字
for (int i = num; i > 0; i /= 10) {
digits[3 - i % 3] = i % 10;
}
// 计算每一位的立方和
for (int i = 0; i < 3; ++i) {
sum += digits[i] * digits[i] * digits[i];
}
return sum == num;
}
int main() {
int n, start = 100, end;
printf("Water Lily Numbers between 100 and %d:\n", n);
if (n >= 100) {
end = n;
} else {
printf("n must be greater than or equal to 100.\n");
return 0;
}
for (int i = start; i <= end; ++i) {
if (isArmstrong(i)) {
printf("%d\n", i);
}
}
return 0;
}
```
阅读全文