我们在学了“do……while”结构的用法,我们为了巩固学习成果,我们来实现一个案例。
了解更多有关“do……while”的知识可以看——C++快速入门_染柒_GRQ的博客-CSDN博客
题目:
练习案例:水仙花数
案例描述:水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身例如:143+5^3+ 343=153
请利用do..while语句,求出所有3位数中的水仙花数。
思路
代码实践
我们接下来将思路转换为代码,就是这样:
#include<iostream>
using namespace std;
int main()
{
//打印所有的三位数字
int num = 100;
do
{
//从所有的三位数中找到水仙花数
int a = 0;//个位
int b = 0;//十位
int c = 0;//百位
a = num % 10;
b = num / 10 % 10;
c = num / 100;
if(num == a*a*a + b*b*b + c*c*c)//如果是才打印
{
cout << num << endl;
}
num++;
} while (num < 1000);
system("pause");
return 0;
}
运行结果
总结
这题的方法是通过“/”和“%”的方式提取个位数,十位数和百位数,再通过题目意思进行“if”判断,基础是“do……while”结构。
感谢大家的点赞和支持!