三个整数构成的水仙花数。 C语言程序。
时间: 2024-11-10 09:26:40 浏览: 6
水仙花数c语言程序题解
水仙花数(Narcissistic Number 或者 Pluperfect Digital Invariant)是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是用C语言编写的一个简单程序,用于检查输入的三位数是否是水仙花数:
```c
#include <stdio.h>
int is_narcissistic(int num) {
int digits[3];
int sum = 0;
// 分离出每一位数字
while (num > 0) {
digits[2] = num % 10;
sum += digits[2] * digits[2] * digits[2]; // 立方计算
num /= 10;
}
// 如果原始数字等于其立方和,则是水仙花数
return sum == num;
}
int main() {
int input;
printf("请输入一个三位数: ");
scanf("%d", &input);
if (is_narcissistic(input)) {
printf("%d 是水仙花数\n", input);
} else {
printf("%d 不是水仙花数\n", input);
}
return 0;
}
```
在这个程序中,`is_narcissistic`函数负责计算并验证输入数字是否满足水仙花数条件。在`main`函数中,用户可以输入一个三位数,然后程序会判断它是否是水仙花数,并给出结果。
阅读全文