作用 : 满足循环条件,执行循环语句
语法 :while (循环条件){循环语句}
解释:只要循环条件的结果为真,就执行循环语句
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QxSlRbJW-1647063084928)(C:/Users/dfghkl/AppData/Roaming/Typora/typora-user-images/image-20220311150145712.png)]
#include
using namespace std;
int main()
{
//while循环
//在屏幕中打印0~9这10个数字
int num = 0;
while (num<10)
//在while()中填入循环条件,但要避免死循环的出现
{
cout << "num = " << num << endl;
num++;
}
system("pause");
return 0;
}
注意:在while()中填入循环条件,但要避免死循环的出现
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TwBaNSWD-1647063084945)(C:/Users/dfghkl/AppData/Roaming/Typora/typora-user-images/image-20220311151749314.png)]
作用:满足循环条件,执行循环语句
语法 :do{循环语句}while(循环条件)
注意与while的区别 :在于do…while 会先执行一次循环语句,再判断循环条件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-enpBJS6n-1647063084947)(C:/Users/dfghkl/AppData/Roaming/Typora/typora-user-images/image-20220311162018904.png)]
#include
using namespace std;
int main()
{
/*
用do...while循环语句在屏幕中输出0~9
*/
int num = 0;
do
{
cout << "num = " << num<<endl;
num++;
} while (num <10);
system("pause");
return 0;
}
案例描述 :水仙花数是指一个3位数,它的每一个位置上的数字的3次幂之和等于它本身
例如 :1^3+ 5^3 + 3^3 = 153
请利用do…while 语句,求出所有3位数中的水仙花数
#include
using namespace std;
int main()
{
//题目:输出所有三位数的水仙花数
int num = 100;
while (num < 1000)
{
int a, b, c; //分别代指个,十,百位
a = num % 10; //得到个位
b = (num % 100 )/10; //得到十位
//b = (num/10)%10;
c = num / 100; //得到百位
//cout << "num = " << num << endl;
//cout << "a =" << a << " b = " << b << " c = " << c << endl;
int i=1,sum = a*a*a + b*b*b+c*c*c;
/* cout << "sum = " <
if (sum == num)
{
cout << "c =" << c << " b = " << b << " a = " << a << endl;
cout << "第" << i << "个水仙花数:" << num << endl;
i++;
}
num++;
}
system("pause");
return 0;
}
作用 :满足循环条件,执行循环语句
语法 :for{起始表达式;条件表达式;末尾循环体}
{
循环语句;
}
#include
using namespace std;
int main()
{
//打印0~9
for (int i = 0; i < 10; i++)
{
//printf("i = \n", &i);
cout << i << endl;
}
system("pause");
return 0;
}
案例描述:从1开始数到数字100,如果注重个位有7,或者数字十位含有7,或者该数字该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。
#include
using namespace std;
int main()
{
//1、先输出1到100这些数字
int i;
for (i= 1; i < 101; i++)
{
//cout << i << endl;
//int a,b,c; //分别记录个位有7,十位有7,7的倍数
if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
{
cout << "敲桌子"<< endl;
}
else {
cout << i << endl;
}
//2、从这100个数字中找到特殊数字,改为“敲桌子”
}
system("pause");
return 0;
}
打印9x9乘法表;
#include
using namespace std;
int main()
{
int sum = 0;
for (int i = 1; i < 10; i++) //控制行数的输出
{
//printf("i = \n", &i);
cout << i << " ";
for (int j = 1; j < i +1; j++) //用j控制列的输出
{
sum = i * j; //记录乘积结果
cout<<j<<"x"<<i<<"="<<sum;
cout << " " ;
}
cout << endl;
}
cout << endl;
system("pause");
return 0;
}