用do…while编写输出所有的水仙花数。“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
时间: 2023-12-03 14:56:03 浏览: 118
以下是使用do...while循环输出所有的水仙花数的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int num = 100;
int digit1, digit2, digit3;
do {
digit1 = num / 100; // 获取百位数字
digit2 = (num / 10) % 10; // 获取十位数字
digit3 = num % 10; // 获取个位数字
if (num == digit1*digit1*digit1 + digit2*digit2*digit2 + digit3*digit3*digit3) {
cout << num << endl;
}
num++;
} while (num < 1000);
return 0;
}
```
该程序首先初始化`num`为100,然后使用do...while循环,每次循环时取出`num`的三个数字,计算它们的立方和是否等于`num`本身,如果是则输出`num`。最后将`num`加1并判断是否小于1000,如果小于则继续下一轮循环,否则退出循环。
相关问题
输出所有的水仙花数。“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。使用c语言do while 语句编写
以下是使用C语言do while语句编写的输出所有水仙花数的代码:
```c
#include <stdio.h>
int main() {
int i = 100;
do {
int a = i / 100; // 百位数
int b = (i / 10) % 10; // 十位数
int c = i % 10; // 个位数
if (i == a * a * a + b * b * b + c * c * c) {
printf("%d ", i);
}
i++;
} while (i < 1000);
return 0;
}
```
输出结果:
```
153 370 371 407
```
输出所有的“水仙花数”,所有“水仙花数”是指一个3位数,其各位数字立方和等于该本身。例如,153是水仙花数,因为153=13+53+33 用c语言编上面的程序,不要用数组,用if,do while语句
在C语言中,我们可以编写一个简单的循环结构来找出所有的水仙花数。由于题目要求不使用数组,我们使用变量来存储每一位数字,并计算它们的立方和。以下是不使用数组的代码示例:
```c
#include <stdio.h>
int main() {
int num, hundreds, tens, ones;
// 从100到999遍历每一个三位数
for (num = 100; num <= 999; num++) {
// 分离出百位、十位和个位数字
hundreds = num / 100;
tens = (num % 100) / 10;
ones = num % 10;
// 计算各个位数的立方和
int sum_of_cubes = hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones;
// 如果立方和等于原数,则打印出来
if (sum_of_cubes == num) {
printf("%d 是水仙花数.\n", num);
}
}
return 0;
}
```
运行此程序,它将输出所有的水仙花数。
阅读全文