用c语言输出100-n中所有的水仙花数,每行输出一个
时间: 2024-11-22 07:45:56 浏览: 12
C语言案例-水仙花数.zip
水仙花数是一种特殊的三位数,其各位数字立方之和等于该数本身。比如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,你可以通过循环遍历100到999范围内的所有三位数,并检查它们是否满足水仙花数的条件来实现。
下面是一个简单的示例程序,它会输出100到999之间的所有水仙花数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_armstrong_number(int num) {
int digits[3];
int sum = 0;
bool found_digits = false;
// 获取三位数的每一位
while (num > 0) {
digits[found_digits++] = num % 10;
num /= 10;
}
// 计算每一位的立方并加总
for (int i = 0; i < 3 && found_digits > 0; i++) {
sum += pow(digits[i], 3);
found_digits--;
}
return sum == num;
}
int main() {
int start = 100, end = 999;
printf("水仙花数:\n");
for (int n = start; n <= end; ++n) {
if (is_armstrong_number(n)) {
printf("%d\n", n);
}
}
return 0;
}
```
当你运行这个程序时,它会在控制台输出100到999之间所有的水仙花数,每行显示一个。
阅读全文