输出所有“水仙花数”。所谓“水仙花数”是指一个三位数 其各位数字立方和等于该数本身。使用c.语言
时间: 2024-11-30 18:21:39 浏览: 8
在C语言中,你可以编写一个程序来找出所有的水仙花数。水仙花数是指一个三位数,其百位、十位和个位上的数字分别立方后相加等于原数自身。以下是简单的C语言代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数声明
bool is_armstrong(int num);
int main() {
int i, j, k;
for (i = 100; i <= 999; i++) { // 遍历三位数范围
int first_digit = i / 100; // 取百位
int second_digit = (i % 100) / 10; // 取十位
int last_digit = i % 10; // 取个位
if (is_armstrong(i)) { // 如果是水仙花数
printf("%d ", i); // 输出这个数
}
}
return 0;
}
// 检查是否是水仙花数的辅助函数
bool is_armstrong(int num) {
int sum = 0, temp_num = num;
while (temp_num != 0) {
int digit = temp_num % 10;
sum += pow(digit, 3); // 计算每个位置的立方并累加
temp_num /= 10;
}
return sum == num;
}
```
运行这段代码,它将打印出所有小于1000的水仙花数。如果想找到更大的水仙花数,只需改变`for`循环的范围即可。
阅读全文