用c语言求100-1000之间的水仙花数
时间: 2024-12-26 15:29:19 浏览: 6
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,我们可以编写一个简单的循环来找出100到1000范围内的所有水仙花数。以下是一个示例程序:
```c
#include <stdio.h>
// 函数声明
int is_armstrong(int num);
int main() {
int start = 100;
int end = 1000;
printf("寻找100到1000范围内的水仙花数:\n");
for (int i = start; i <= end; ++i) {
if (is_armstrong(i)) {
printf("%d 是一个水仙花数.\n", i);
}
}
return 0;
}
// 检查是否是水仙花数的函数
int is_armstrong(int num) {
int sum = 0;
int temp = num; // 保存每一位
while (temp != 0) {
int digit = temp % 10; // 取余得到一位数
sum += digit * digit * digit; // 累加立方
temp /= 10; // 移除最低位
}
// 如果计算后的总和等于原数,就是水仙花数
return sum == num;
}
```
当你运行这个程序,它会打印出100到1000之间所有的水仙花数。
阅读全文