c语言用双循环结构求出100~999范围内所有的水仙花数
时间: 2023-09-12 14:01:05 浏览: 115
C语言经典算法例题求100-999之间的“水仙花数
5星 · 资源好评率100%
水仙花数是指一个三位数,该数的每个位上的数字的立方和等于该数本身。要求使用双循环结构来求出100~999范围内的所有水仙花数。
首先,我们需要使用两个循环嵌套,外层循环用于遍历100~999范围内的所有数,内层循环则用于计算每个数的立方和是否等于该数本身。
具体实现如下:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("100~999范围内的所有水仙花数为:\n");
for (num = 100; num <= 999; num++) {
sum = 0;
// 计算每个位上的数字的立方和
for (digit = num; digit > 0; digit /= 10) {
sum += (digit % 10) * (digit % 10) * (digit % 10);
}
// 判断是否为水仙花数
if (sum == num) {
printf("%d ", num);
}
}
return 0;
}
```
输出结果如下:
```
100~999范围内的所有水仙花数为:
153 370 371 407
```
这个程序首先从100遍历到999之间的每一个数,然后使用内层循环计算该数的每个位上数字的立方和。如果最终计算出的和等于该数本身,则说明这个数是水仙花数,将其打印出来。循环结束后,我们得到了100~999范围内的所有水仙花数。
阅读全文