三位的水仙花数: 输入一个三位的正整数n, 输出100~n范围内所有的水仙花数。 用函数判断一个整数是不是水仙花数,是返回1,不是返回0。 主函数调用该函数,实现输出100~n之间的所有水仙花数。 三位的水仙花数是指,该数的三个数字立方之和等于该数本身。 c语言
时间: 2024-12-20 10:20:42 浏览: 48
在 C 语言中,你可以通过编写一个名为 `isArmstrong` 的函数来检查一个三位数是否为水仙花数,然后在主函数 `main` 中遍历给定范围内的每个数并调用这个函数。以下是一个简单的实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数用来判断输入的三位数是否为水仙花数
bool isArmstrong(int num) {
int original_num = num;
int sum = 0, digit;
// 将数字分解成各个位
while (num > 0) {
digit = num % 10; // 取最后一位
sum += pow(digit, 3); // 立方并累加
num /= 10; // 移除最后一位
}
// 如果原始数字和立方和相等,则是水仙花数
return (original_num == sum);
}
// 主函数,遍历指定范围打印水仙花数
void printArmstrongs(int start, int end) {
for (int i = start; i <= end; i++) {
if (isArmstrong(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int n; // 用户输入的三位数范围上限
printf("请输入三位数的上限(n): ");
scanf("%d", &n);
// 检查输入的有效性
if (n < 100 || n > 999) {
printf("无效的输入范围,只接受100到999。\n");
return 1;
}
// 打印100到n之间的水仙花数
printArmstrongs(100, n);
return 0;
}
```
阅读全文
相关推荐
















