做一个是C语言程序:输出所有的水仙花数所谓水仙花数是指一个三位数其各位数字立方和等于该数本身,例如153是水仙花数因为153等于一的三次方加五的三次方加三的三次方
时间: 2024-11-03 19:23:52 浏览: 9
C语言中的水仙花数,是指一个 n 位数,它的每个位上的数字的n次方之和等于它本身
在C语言中,可以编写一个小函数来检查一个三位数是否是水仙花数。首先,我们需要创建一个名为`is narcissistic_number`的函数,它接收一个整数作为输入,然后计算并比较各个位的立方和是否与原数相等。以下是实现这个功能的代码:
```c
#include <stdio.h>
// 函数声明
int cube_sum(int num);
// 主函数
int main() {
int start = 100; // 考虑到是三位数,从100开始
int end = 999; // 包含999
for (int i = start; i <= end; i++) {
if (cube_sum(i) == i) { // 检查是否满足水仙花条件
printf("%d 是水仙花数。\n", i);
}
}
return 0;
}
// 计算一个数各位置的立方和
int cube_sum(int num) {
int sum = 0;
int temp = num; // 备份num以便获取个位、十位和百位
while (temp > 0) {
int digit = temp % 10; // 取出个位
sum += digit * digit * digit; // 立方和累加
temp /= 10; // 移除个位
}
return sum;
}
```
阅读全文