C++ 7.程序流程结构—循环结构(while案例-猜数字、do...while案例-水仙花数、for循环-敲桌子、嵌套循环-乘法口诀表)

2021/12/31 9:07:28

本文主要是介绍C++ 7.程序流程结构—循环结构(while案例-猜数字、do...while案例-水仙花数、for循环-敲桌子、嵌套循环-乘法口诀表),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include <stdio.h>
#include <iostream>
using namespace std;
/*------------------------------------------------------------------------------
程序流程结构
1.顺序结构:程序按顺序执行,不发生跳转
2.选择结构:依据条件是否满足,有选择的执行相应功能
	if语句:
		单行
		多行
		多条件-if,else if ...else
3.循环结构:依据条件是否满足,循环多次执行某段代码
------------------------------------------------------------------------------*/
//3.循环结构
/* ------------------------------------------------------------------------------
while循环语句
作用:满足循环条件,执行循环语句
语法:while(循环条件)(循环语句)
解释:只要循环条件的结果为真,就执行循环语句
注意事项:在写循环要避免死循环的出现
------------------------------------------------------------------------------*/
int main()
{
	//while循环,在屏幕打印0~9
	int num = 0;
	while (num < 10)
	{
		cout << num << endl;
		num++;
	}
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
while循环案例(猜数字)
------------------------------------------------------------------------------*/
#include <ctime>
int main()
{
	//添加随机数种子:为利用当前系统时间生成随机数,防止每次随机数都一样
	srand((unsigned int)time(NULL));
	//1.系统生成随机数
	int num = rand() % 100 + 1;  //rand()%100 + 1生成0~99+1随机数
	cout << num << endl;

	//2.玩家进行猜测
	int val = 0;
	while (1)
	{
		cin >> val;
		//3.判断玩家的猜测
		//猜错  提示猜的结果过大或过小  重新返回第2步
		if (val > num)
		{
			cout << "猜测过大" << endl;
		}
		else if (val < num)
		{
			if (val > num)
			{
				cout << "猜测过小" << endl;
			}
		}
		else
		{
			cout << "恭喜您猜对了" << endl;   //猜对  退出游戏
			break;  //break在循环中,可利用该关键字退出当前循环
		}
	}
	
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
do...while循环
作用:满足循环条件,执行循环语句
语法:do(循环语句)while(循环条件)
注意事项:while与do...while区别:do...while会先执行一次循环结构,再判断循环条件
------------------------------------------------------------------------------*/
int main()
{
	//do...while循环,在屏幕打印0~9
	int num = 0;
	do
	{
		cout << num << endl;
		num++;
	} 
	while (num < 10);

	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
do...while循环案例(水仙花数)
水仙花数指一个3位数,它的每个位上的数字的3次幂之和等于它本身,求出所有水仙花数。
1^3+5^3+3^3=153
------------------------------------------------------------------------------*/
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 (a*a*a + b*b*b+ c*c*c== num)//不能用a^3
		{
			cout << num << endl;
		}
		num++;
	}
	while (num < 1000);
	
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
for循环
作用:满足循环条件,执行循环语句
语法:for(起始表达式;条件表达式;末尾循环体)(循环语句;)
------------------------------------------------------------------------------*/
int main()
{
	//for循环,打印数字从0~9
	for (int i = 0; i < 10; i++)
	{
		cout << i << endl;
	}
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
for循环案例(敲桌子)
从1开始到数字100,如果数字个位含7或十位含7,或是7的倍数,打印敲桌子,其余数字直
接打印输出
------------------------------------------------------------------------------*/
int main()
{
	//先输出1~100
	for (int i = 0; i < 100; i++)
	{
		
		//从100个数字中找到特殊的,打印“敲桌子”,否则打印数字
		if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7) 
		{
			cout << "敲桌子" << endl;
		}
		else
		{
			cout << i << endl;
		}
	}
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
嵌套循环
作用:在循环体中再嵌套一层循环
------------------------------------------------------------------------------*/
int main()
{
	//打印星图
	//外层循环,外层一次,内层一周
	for (int i = 0; i < 10; i++)
	{
		//内层循环
		for (int j = 0; j < 10; j++)
		{
			cout << "* " ; // endl换行
		}
		cout << endl;
	}
	system("pause");
	return 0;
}
/*------------------------------------------------------------------------------
嵌套循环案例(乘法口诀表)
注意事项:endl换行
------------------------------------------------------------------------------*/
int main()
{
	//行
	for (int i = 1; i <= 9; i++)
	{
		//列
		for (int j = 1; j <= i; j++)
		{
			cout << j<<"*"<<i<<"="<<"i*j"<<" " ;// endl换行
		}
		cout << endl;
	}
	system("pause");
	return 0;
}



这篇关于C++ 7.程序流程结构—循环结构(while案例-猜数字、do...while案例-水仙花数、for循环-敲桌子、嵌套循环-乘法口诀表)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程