用c语言输入一个范围判断水仙花数
时间: 2024-11-09 20:25:47 浏览: 21
C变种水仙花数.zip
在C语言中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
要编写一个程序来判断用户输入的范围内是否存在水仙花数,你可以遵循以下步骤:
1. 定义一个函数`isArmstrongNumber(int num)`,检查输入的整数是否为水仙花数。
2. 接收用户输入的最小值和最大值。
3. 使用循环遍历这个范围内的每一个整数。
4. 对于每个数,先转换成字符串,然后获取每一位的数字,计算它们的立方和并与原数比较,如果是,则返回true;否则继续下一个数。
5. 如果整个范围内都没有找到水仙花数,返回false。
这是一个简单的示例代码片段:
```c
#include <stdio.h>
#include <stdbool.h>
bool isArmstrongNumber(int num) {
int original, sum = 0, temp;
original = num;
while (num != 0) {
temp = num % 10;
sum += temp * temp * temp;
num /= 10;
}
return sum == original;
}
int main() {
int start, end, i, found = 0;
printf("Enter the range (start and end): ");
scanf("%d %d", &start, &end);
for (i = start; i <= end; i++) {
if (isArmstrongNumber(i)) {
found = 1;
printf("%d is a Narcissistic number.\n", i);
}
}
if (!found) {
printf("No Narcissistic numbers in the given range.\n");
}
return 0;
}
```
阅读全文