C语言判断一个三位数是否是“水仙花数”。所谓水仙花数:是指一个三位数,其各位数字的立方之和等于该数。
时间: 2024-10-25 09:18:09 浏览: 38
水仙花数,也称为阿姆斯特朗数,是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(C语言源代码)
在C语言中,判断一个三位数是否是“水仙花数”的算法可以通过编写一个函数来实现。下面是一个简单的示例:
```c
#include <stdio.h>
#include <math.h>
// 定义一个函数来检查一个数是否是水仙花数
int is narcissistic(int num) {
int百位 = num / 100; // 取百位数
int十位 = (num % 100) / 10; // 取十位数
int个位 = num % 10; // 取个位数
int sum_of_cubes = pow(bi位, 3) + pow(十位, 3) + pow(个位, 3); // 计算各位立方和
return sum_of_cubes == num; // 如果和等于原数,返回1,否则返回0
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if(num >= 100 && num <= 999) {
if(is_narcissistic(num)) {
printf("%d 是水仙花数。\n", num);
} else {
printf("%d 不是水仙花数。\n", num);
}
} else {
printf("输入错误,请输入一个三位数。\n");
}
return 0;
}
```
阅读全文