输入一个三位数到五位数之间的自然数是否为水仙花数,用c语言编写此程序
时间: 2024-11-14 20:27:01 浏览: 3
在C语言中,我们可以创建一个函数来判断一个给定的数是否是水仙花数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数来检查一个数是否是水仙花数
bool isWaterLily(int num) {
int digits[5]; // 存储每一位的值
int sum = 0;
// 分解出每一位并计算它们的立方和
while (num > 0) {
digits[4] = num % 10;
num /= 10;
sum += digits[4]*digits[4]*digits[4];
}
// 检查立方和是否等于原始数字
return sum == num;
}
int main() {
int input;
printf("请输入一个三位数到五位数之间的自然数: ");
scanf("%d", &input);
if (isWaterLily(input)) {
printf("%d 是水仙花数\n", input);
} else {
printf("%d 不是水仙花数\n", input);
}
return 0;
}
```
在这个程序中,我们首先将输入的数字分解成一个个数字存储在数组`digits`中,然后计算每个位数的立方并累加。最后,比较这个累加和是否与原始输入的数相同。如果是,则返回`true`表示它是水仙花数,反之则不是。
阅读全文