【0基础学习C++】第3节 C++study_03

本文详细介绍了C++编程中的循环结构(while、do...while、for)、随机数生成、水仙花数求解,以及break、continue和goto等跳转语句的使用。适合初学者快速掌握C++基础知识。
摘要由CSDN通过智能技术生成

本节内容:循环结构、跳转语句。

#include<iostream>
using namespace std;
//#include<ctime> time系统时间函数需要的头文件,但这是vs2022不用加。

//循环结构
int main()
{
	//while循环,猜数字
	/*
	系统随机生成一个1到100之间的数字,
	玩家进行猜测,如果猜错,提示玩家数字过大或过小,
	如果猜对恭喜玩家胜利,并且退出游戏。
	*/

	srand((unsigned int)time(NULL)); //添加随机种子,防止每次生成的随机数相同,这里是用当前系统时间生成随机数。
	int num = (rand() % 100) + 1; //生成一个0-99的数,由于加了1,就是1-100;
	int a = 0;
	cout << "请输入您要猜的数字:" << endl;
	cin >> a;
	while (num != a)
	{
		if (a > num)
		{
			cout << "您猜的太大了!" << endl;
		}
		else
		{
			cout << "您猜的太小了!" << endl;
		}
		cout << "请再次输入您要猜的数字:" << endl;
		cin >> a;
	}
	cout << "恭喜你,猜对了!!!" << endl;

	//以上程序也可以设置while(1)让程序一直执行,再猜对了时用break退出循环。

	//do...while语句,先执行一次语句,再开始判断条件
	//求水仙花数
	/*
	水仙花数是指一个 3 位数,
	它的每个位上的数字的 3次幂之和等于它本身
	例如:1^3 + 5^3+ 3^3 = 153
	请利用do...while语句,求出所有3位数中的水仙花数
	*/

	int num = 100;
	int a = 0;
	int b = 0;
	int c = 0;

	do
	{
		a = num / 100; //获取百位
		b = (num / 10);
		b = b % 10;    //获取十位
		c = num % 10;  //获取个位
		if (a*a*a + b*b*b + c*c*c == num)
		{
			cout << num << endl;
		}
		num++;
	} while (num <= 999);


	//for循环
	//案例:敲桌子
	/*
	案例描述:从1开始数到数字100, 如果数字个位含有7,
	或者数字十位含有7,或者该数字是7的倍数,
	我们打印敲桌子,其余数字直接打印输出。
	*/

	int i = 1;
	for (i = 1; i < 101; i++)
	{
		if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
		{
			cout << "敲桌子!" << endl;
		}
		else
		{
			cout << i << endl;
		}
	}


	//嵌套循环
	//案例:输出九九乘法表

	int i = 0;
	int j = 0;
	for (i = 1; i < 10; i++) //外层循环控制行数
	{
		for (j = 1; j <= i; j++) //内层循环控制列数
		{
			cout << j << "x" << i << "=" << i * j << "\t";
		}
		cout << endl;
	}



	//跳转语句
	//break语句
	/*
	break使用的时机:
	* 出现在switch条件语句中,作用是终止case并跳出switch
	* 出现在循环语句中,作用是跳出当前的循环语句
	* 出现在嵌套循环中,跳出最近的内层循环语句
	*/
	
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			if (j == 5)
			{
				break; //退出内层循环
			}
			cout << "* ";
		}
		cout << endl;
	} //结果是输出10行5列





	//continue语句,跳过本次循环中余下尚未执行的语句,
	//继续执行下一次循环
	
	for (int i = 0; i <= 100; i++)
	{
		//如果是奇数就输出,偶数不输出
		if (i % 2 == 0)
		{
			continue;
		}
		cout << i << endl;
	}




	//goto语句,可以无条件跳转语句
	/*
		语法:goto 标记;

		解释:如果标记的名称存在,
		执行到goto语句时,
		会跳转到标记的位置
	*/

	cout << "************1***********" << endl;

	cout << "************2***********" << endl;
	goto flag;
	cout << "************3***********" << endl;

	cout << "************4***********" << endl;

	cout << "************5***********" << endl;
	flag:
	cout << "************6***********" << endl;

	cout << "************7***********" << endl;



	system("pause");
	return 0;
}

一节一篇代码,简单粗暴,适合快速学习/复习C++基础知识。

上一节:【0基础学习C++】第2节 C++study_02-CSDN博客

下一节:【0基础学习C++】第4节 C++study_04-CSDN博客 

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值