用C语言实现水仙花数
时间: 2024-11-27 22:19:37 浏览: 27
使用C语言实现水仙花数研究
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。在C语言中,我们可以编写一个函数来检查任意整数是否为水仙花数。下面是一个简单的实现示例:
```c
#include <stdio.h>
// 函数定义
int is_armstrong_number(int num) {
int original_num, remainder, sum = 0;
// 将数字转换为字符串以便逐位处理
char number_str[4]; // 足够存放3位数加一位终止符'\0'
sprintf(number_str, "%d", num);
original_num = atoi(number_str); // 取出原始数值
while (original_num != 0) {
remainder = original_num % 10; // 取余数
sum += remainder * remainder * remainder; // 立方并累加
original_num /= 10; // 移除最后一位数字
}
if (sum == num) {
return 1; // 是水仙花数
} else {
return 0; // 否则不是
}
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (is_armstrong_number(num)) {
printf("%d 是一个水仙花数。\n", num);
} else {
printf("%d 不是水仙花数。\n", num);
}
return 0;
}
阅读全文