C语言找出100~999的水仙花数,并以每行2个数的方式输出。(水仙花数指的是这样一个三位数,其各位数字的立方和等于该数本身,即d1d₂dз=d₁* d₁* d1+ d2 * dz * d2 +d3 * d3 * d3 .)
时间: 2024-10-20 08:05:15 浏览: 27
C语言经典算法例题求100-999之间的“水仙花数
5星 · 资源好评率100%
在C语言中,我们可以编写一个简单的程序来找出100到999范围内的水仙花数,并按每行两个数的方式输出。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_armstrong(int num) {
int digits[4] = {0}, sum = 0;
for (int i = 0; num != 0; num /= 10, ++i) {
digits[i] = num % 10;
sum += digits[i] * digits[i] * digits[i];
}
return sum == num;
}
void print_numbers_in_pairs() {
for (int i = 100; i <= 999; i++) {
if (is_armstrong(i)) {
printf("%d ", i);
if ((i % 100) == 0 || (i + 1) % 100 == 0) {
printf("\n");
} else {
printf("%d ", i + 1);
if ((i + 1) % 100 == 0) {
printf("\n");
}
}
}
}
}
int main() {
print_numbers_in_pairs();
return 0;
}
```
在这个代码中,`is_armstrong()` 函数用于检查一个数字是否是水仙花数,而 `print_numbers_in_pairs()` 函数则遍历100到999的每个数,如果是水仙花数,则打印出来,并按照每行显示两个数的形式。
阅读全文