C语言中判断一个三位数是否为'水仙花数',并输出
时间: 2024-11-06 22:20:17 浏览: 7
在C语言中,"水仙花数"是指一个三位数,其各位数字立方之和等于原数本身的特性。例如,153就是水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是判断一个三位数是否为水仙花数的一个简单C语言函数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_armenian_triangle_number(int num) {
int hundreds = num / 100;
int tens = (num % 100) / 10;
int units = num % 10;
// 计算各位数字立方和
int sum_of_cubes = hundreds * hundreds * hundreds +
tens * tens * tens +
units * units * units;
// 比较立方和是否等于原数
return sum_of_cubes == num;
}
int main() {
int input;
printf("请输入一个三位数: ");
scanf("%d", &input);
// 确保输入是三位数
if (input >= 100 && input <= 999) {
if (is_armenian_triangle_number(input)) {
printf("%d 是一个水仙花数。\n", input);
} else {
printf("%d 不是水仙花数。\n", input);
}
} else {
printf("输入不是有效的三位数。\n");
}
return 0;
}
```
这个程序首先读取用户输入的三位数,然后通过`is_armenian_triangle_number()`函数检查它是否满足水仙花数的条件。
阅读全文