如何用C语言实现水仙花数的计算?
时间: 2024-11-25 22:13:25 浏览: 67
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,你可以通过循环遍历一定范围内的整数,检查它们是否满足水仙花数的条件。下面是一个简单的示例:
```c
#include <stdio.h>
int is_armstrong_number(int num) {
int original_num, remainder, sum = 0;
original_num = num;
// 把数字转换成字符串便于处理
char digits[4];
while (num != 0) {
digits[--num] = num % 10 + '0';
}
// 计算每个位数的立方和
for (int i = 0; i < 3; ++i) {
remainder = digits[i] - '0'; // 转回数值
sum += remainder * remainder * remainder;
}
// 检查是否等于原数
return original_num == sum;
}
int main() {
int start = 100, end = 999; // 遍历范围,从100到999
printf("Armstrong numbers between %d and %d are:\n", start, end);
for (int i = start; i <= end; ++i) {
if (is_armstrong_number(i)) {
printf("%d ", i);
}
}
return 0;
}
阅读全文