找出输入范围内的水仙花数C语言
时间: 2024-10-29 10:21:10 浏览: 28
所有的水仙花数 c语言.zip
找出输入范围内的水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153就是水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,你可以通过遍历指定范围内的每个三位数,然后计算它的每一位立方并求和,如果结果等于原数,则认为它是水仙花数。下面是一个简单的示例程序:
```c
#include <stdio.h>
int is_armstrong_number(int num) {
int digits[4], sum = 0;
// 计算每位数字
while (num > 0) {
digits[sum++] = num % 10;
num /= 10;
}
// 检查是否是水仙花数
for (int i = 0; i < sum; i++) {
if (digits[i] * digits[i] * digits[i] != sum) {
return 0; // 如果不满足条件,立即返回0
}
}
return 1; // 如果所有位都是立方和,返回1表示是水仙花数
}
int main() {
int start, end;
printf("请输入范围的起始和结束值: ");
scanf("%d %d", &start, &end);
for (int i = start; i <= end; ++i) {
if (is_armstrong_number(i)) {
printf("%d 是水仙花数\n", i);
}
}
return 0;
}
```
在这个程序中,`is_armstrong_number` 函数负责检查一个数是否是水仙花数,而 `main` 函数则用于获取用户输入的范围,并打印其中的所有水仙花数。
阅读全文