C语言水仙花数怎么实现
时间: 2024-12-12 20:29:15 浏览: 16
C语言变种水仙花数.zip
在C语言中,实现水仙花数同样可以按照上述逻辑编写。下面是一个简单的C程序示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断一个数是否是水仙花数的函数
bool is_narcissistic_number(int num) {
int original_num, digit, sum_of_cubes = 0;
int temp;
// 获取数字的每一位
while (num > 0) {
temp = num % 10; // 取余数得到最后一位
sum_of_cubes += temp * temp * temp; // 累加每一位的三次方
num /= 10; // 移除最后一位
}
// 比较原数和其各位立方和是否相等
return (original_num == sum_of_cubes);
}
int main() {
int number;
printf("请输入一个整数:");
scanf("%d", &number);
if (is_narcissistic_number(number)) {
printf("%d 是水仙花数。\n", number);
} else {
printf("%d 不是水仙花数。\n", number);
}
return 0;
}
```
在这个程序中,用户会被提示输入一个整数,然后调用 `is_narcissistic_number` 函数检查它是否为水仙花数。如果输入的数是水仙花数,它就会显示相应的消息。
阅读全文