文章目录
1 while循环语句
语法:while(循环条件){循环语句}
解释:只要循环条件的结果为真,就执行循环语句。
例子:打印0~9
int main()
{
//打印0~9
int num = 0;
while (num < 10) {
cout << num << endl;
num += 1;
}
system("pause");
return 0;
}
注意1:一定要避免死循环。
while循环练习案例:猜数字
描述:随机生成一个1~100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小;如果猜对则恭喜玩家获胜,并且退出游戏。
#include <iostream>
#include<stdlib.h>
using namespace std;
#include<ctime>
//猜数字
int main()
{
//添加随机数种子
srand((unsingne int)time(NULL));
//生成随机数
int num = rand() % 100 +1 ; //rand()%100 生成一个0~99的随机数
int val = 0;
while (1) {
cin >> val;
if (val > num) {
cout << "大了" << endl;
}
else if (val < num) {
cout << "小了" << endl;
}
else {
cout << "恭喜你猜对" << endl;
break;//break,退出当前循环
}
}
system("pause");
return 0;
}
2 do……while循环语句
语法:do{循环语句}while(循环条件);
与while的区别在于do……while会先执行一次循环语句,然后再判断循环条件
#include<iostream>
using namespace std;
int main()
{
//do...while 循环打出0~9
int num = 0;
do
{
cout << num << endl;
num++;
}
while(num<10);
system("pause");
return 0;
}
练习案例:水仙花数
描述:水仙花数是指一个3位数,他的每个位上的数字的3次幂之和等于它本身
例如:13+53+3**3=153
请用do……while语句求出所有三位数中的水仙花数
#include<iostream>
using namespace std;
#include<math.h>
int main()
{
//do...while 水仙花数
int num = 100;
int ge, shi, bai,sum;
do
{
ge = num % 10;
bai = num / 100;
shi = (num / 10) % 10;
sum = pow(ge, 3) + pow(shi, 3) + pow(bai, 3);
if (sum==num)
{
cout << num << endl;
}
num++;
}
while(num<1000);
system("pause");
return 0;
}
3 for循环语句
语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}
示例:
int main()
{
for (int i = 0; i < 10; i++)
{
cout << i << endl;
}
system("pause");
return 0;
}
练习案例:逢7敲桌子
案例:从1到100,遇到数字个位和十位有7,或者是7的倍数,不打印,其余的打印出来
int main()
{
//逢7
for (int i=1;i<100;i++)
{
if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
{
continue;
}
cout << i << endl;
}
system("pause");
return 0;
}
4 嵌套循环
4.1 打印10*10星星
#include<iostream>
using namespace std;
#include<math.h>
int main()
{
//打印10行
for (int i = 0; i < 10; i++)
{
//打印一行*
for (int j = 0; j < 10; j++)
{
cout << "* ";
}
cout << endl;
}
system("pause");
return 0;
}
4.2用代码写出乘法口诀表
#include<iostream>
using namespace std;
#include<math.h>
int main()
{
//乘法口诀表
for (int hang = 1; hang < 10; hang++)
{
int lie = 1;
do
{
cout << lie << "*" << hang << "=" << lie * hang << "\t";
lie++;
} while (lie<=hang);
cout << endl;
}
system("pause");
return 0;
}