如何用C语言编写程序来判断一个整数是否为水仙花数?
时间: 2024-11-13 12:19:48 浏览: 11
在C语言中,你可以使用条件语句和取模运算符 `%` 来编写一个简单的程序来判断一个整数是否为水仙花数。下面是一个例子:
```c
#include <stdio.h>
int is_narcissistic(int num) {
int digits[3], sum = 0;
// 提取每一位数字并将它们存储在数组digits中
while (num > 0) {
digits[sum] = num % 10; // 取个位
num /= 10; // 移除个位
sum++;
}
// 计算每一位数字的立方并求和
for (int i = 0; i < 3; i++) {
sum += pow(digits[i], 3); // 使用pow函数获取立方
}
// 如果和等于原数,那么它是水仙花数
return sum == num;
}
int main() {
int num;
printf("请输入一个三位数: ");
scanf("%d", &num);
if (is_narcissistic(num)) {
printf("%d 是水仙花数\n", num);
} else {
printf("%d 不是水仙花数\n", num);
}
return 0;
}
```
在这个程序中,我们首先提取出三位数的每一位,然后计算它们各自立方后的和。如果和等于原来的数字,那么就是水仙花数。
阅读全文