c++do while水仙花数
时间: 2023-11-10 22:02:58 浏览: 133
好的,以下是c do while循环判断水仙花数的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int n, sum, num;
printf("Input a number: ");
scanf("%d", &n);
num = n;
sum = 0;
do {
int digit = num % 10;
sum += pow(digit, 3);
num /= 10;
} while (num != 0);
if (sum == n) {
printf("%d is an Armstrong number.\n", n);
} else {
printf("%d is not an Armstrong number.\n", n);
}
return 0;
}
```
上述代码中,使用了do while循环来计算给定数是否为水仙花数。在循环中,先取出输入数的最后一位数字,将其立方后加入sum中,并将输入数除以10,重复此过程直到输入数变为0。最后判断sum是否等于输入数,若相等则说明输入数为水仙花数。
相关问题
用do…while编写输出所有的水仙花数。“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
以下是使用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,如果小于则继续下一轮循环,否则退出循环。
while循环水仙花C++
while循环水仙花C++是一个判断一个三位数是否为水仙花数的程序,使用了while循环语句。在循环中,程序会从100开始逐个判断到999,判断每个三位数是否为水仙花数,如果是则输出该数是水仙花数。其中,水仙花数是指一个三位数,它的每个位上的数字的3次幂之和等于它本身。在这个程序中,使用了do-while循环语句,先执行一次循环体,再判断循环条件是否成立,如果成立则继续执行循环体,否则跳出循环。在循环体中,使用了if语句判断该三位数是否为水仙花数,如果是则输出该数是水仙花数。
阅读全文