4.2.2 do...while循环语句
作用:满足循环条件,执行循环语句
语法:do{ 循环语句 } while(循环条件);
示例:与 while 的区别在于do...while 会先执行一次循环语句,再判断循环条件
示例:
#include <iostream>
using namespace std;
int main() {
// do while 语句
// 再屏幕中输出 0 到 9 这 10 个数字
int num = 0;
do
{
cout << num << endl;
num++;
} while (num < 10);
// do...while 和 while 循环区别在于 do...while 会先执行一次循环
system("pause");
return 0;
}
总结:与 while 循环区别在于,do...while先执行一次循环,再判断循环条件
练习案例:水仙花数
案例描述:水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身
例如:13 + 53 + 33 = 153
请利用 do...while,求出所有 3 位数中的水仙花数
#include <iostream>
using namespace std;
#include <math.h> // 引入的头文件
int main() {
// 1、先打印三位数字
int num = 100;
do
{
// 2、从所有三位数中找到水仙花数
// 使用pow(x, y),可算出x的y次幂;需要引入 math.h 头文件
int a = pow( (num % 10), 3); // 获取个位数的 3 次幂
int b = pow( ((num / 10) % 10), 3); // 获取十位数的 3 次幂
int c = pow( (num / 100), 3); // 获取百位数的 3 次幂
if ((a + b + c) == num) // 如果是水仙花才打印
{
cout << num << endl;
}
num++;
} while (num < 1000);
system("pause");
return 0;
}
练习案例:九九乘法口诀表
#include <iostream>
using namespace std;
int main() {
int num1 = 1;
int num2 = 1;
// 输出九九乘法口诀表
while (num1 < 10)
{
num2 = 1;
while (num2 <= num1 )
{
cout << num1 << " * " << num2 << " = " << (num1 * num2) << "\t";
num2++;
}
cout << "" << endl;
num1++;
}
system("pause");
return 0;
}