c++|程序流程结构-循环结构

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;
}

在这里插入图片描述

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页