给我写一段c语言代码,写一个函数判断这个数是不是水仙花数
时间: 2024-09-28 11:16:09 浏览: 9
当然,这是一个简单的C语言函数,用于判断一个整数是否为水仙花数:
```c
#include <stdio.h>
int is narcissistic_number(int num) {
if (num < 100 || num > 999) { // 判断是否为三位数
return 0; // 非三位数不是水仙花数
}
int digits[3], sum = 0;
int i;
// 分离每个位数
while (num != 0) {
digits[i] = num % 10;
sum += digits[i] * digits[i] * digits[i];
num /= 10;
i++;
}
// 检查三位数的每一位的立方和是否等于原数
return sum == num;
}
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`函数首先检查输入的数是否为三位数,然后分离出每个位上的数字并计算它们立方和,最后比较这个和是否等于原来的数。