用c语言的do…while语句输出100~999之间所有的水仙花数
时间: 2024-09-14 19:14:52 浏览: 58
C语言经典算法例题求100-999之间的“水仙花数
5星 · 资源好评率100%
水仙花数是指一个三位数,其各位数字立方和等于该数本身。比如153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。用C语言编写一个do...while循环来找出100到999之间的所有水仙花数,可以按照以下步骤:
```c
#include <stdio.h>
#include <math.h>
int main() {
int num, digit1, digit2, digit3;
int cube_sum;
do {
num = 100; // 开始从100开始检查
while (num <= 999) { // 循环直到达到999
// 分离出每一位数字
digit1 = num / 100;
digit2 = (num % 100) / 10;
digit3 = num % 10;
// 计算每位数字的立方和
cube_sum = pow(digit1, 3) + pow(digit2, 3) + pow(digit3, 3);
// 检查是否是水仙花数
if (cube_sum == num) {
printf("%d ", num); // 打印找到的水仙花数
}
num++; // 移动到下一个数
}
} while (true); // 因为do...while会先执行一次循环体再判断条件,这里设置为无限循环,实际应用中应加上终止条件
return 0;
}
```
阅读全文