用c语言写一个求水仙花数
时间: 2024-11-25 11:15:30 浏览: 35
当然可以。水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是用C语言编写的一个简单程序,用于检查输入的整数是否是水仙花数:
```c
#include <stdio.h>
// 函数声明
int is narcissistic(int num);
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (is_narcissistic(num)) {
printf("%d 是一个水仙花数。\n", num);
} else {
printf("%d 不是一个水仙花数。\n", num);
}
return 0;
}
// 水仙花数判断函数
int is_narcissistic(int num) {
int百位 = num / 100; // 取百位
int十位 = (num % 100) / 10; // 取十位
int个位 = num % 10; // 取个位
int sum_of_cubes = 百位 * 百位 * 百位 + 十位 * 十位 * 十位 + 个位 * 个位 * 个位;
return sum_of_cubes == num;
}
```
在这个程序中,`is_narcissistic` 函数会计算并返回输入数字各位的立方和。如果和等于原数,则返回 `true`(即1),表示是水仙花数;反之则返回 `false`。
阅读全文