C++程序流程结构(学习案例)

这篇博客介绍了四个C++编程案例,包括使用选择结构判断三只小猪体重、循环结构实现猜数字游戏(两种方法)、do-while循环解决水仙花数问题以及for循环打印敲桌子规则。案例涵盖了基础的条件判断和循环控制,适合初学者练习。
摘要由CSDN通过智能技术生成

声明:本文案例来自B战黑马程序员C++教程,未使用黑马视频中代码,如有雷同纯属巧然,用于交流学习使用。有错误或者不清楚的地方,欢迎评论,共同学习。

1.选择结构案例(三只小猪称体重)

三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?

#include<iostream>
using namespace std;
int main() {
	//三只小猪称体重,判断那只最重
	//定义三只小猪的体重分别为A.B.C
	int A, B, C;
	cout << "请输入A小猪的体重:" << endl;
	cin >> A;
	cout << "请输入B小猪的体重:" << endl;
	cin >> B;
	cout << "请输入C小猪的体重:" << endl;
	cin >> C;
	if (A > B) {
		if (A > C) {
			cout << "A小猪最重" << endl;
		}
		else
		{
			cout << "C小猪最重" << endl;
		}
	}
	else {
		if (B > C) {
			cout << "B小猪最重" << endl;
		}
		else
		{
			cout << "C小猪最重" << endl;
		}
	}

	system("pause");
	return 0;
}

2.循环结构案例(猜数字)

猜数字游戏规则:系统随机生成一个1~100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并且退出游戏。

方法1:使用for循环

#include<iostream>
using namespace std;
#include<ctime>
int main() {
    //生成随机数种子
    srand((unsigned int)time(NULL));
    //给num赋值随机数
	int num = rand() % 100 + 1;
    //定义输入的整数
	int i;
	cout << "请输入一个整数" << endl;
	cin >> i;
    //for循环开始
    //定义变量j用来记录循环次数
	for (int j = 1; j <= 5; j++)
	{
		if (i < num) {
			cout << "小了" << endl;
		}
		else if (i > num) {
			cout << "大了" << endl;
		}
		else if (i == num)
		{
			cout << "恭喜您,猜对了" << endl;
			break;
		}
		if (j < 5) {
			cout << "请重新输入一个数" << endl;
			cin >> i;
		}	
	}
	if (i != num) {
		cout << "您已猜了5次,还未猜对,失败了!" << endl;
	}

	system("pause");
	return 0;
}

方法2:使用while循环

#include<iostream>
using namespace std;
#include<ctime>
int main() {
    //生成随机数种子
    srand((unsigned int)time(NULL));
    //给num赋值随机数
	int num = rand() % 100 + 1;
    //定义输入的整数
	int i;
	cout << "请输入一个整数" << endl;
    //输入整数
	cin >> i;
    //while循环判断所输入数和随机数的大小,并输出结果
    int j = 0;
	while (1)     //1表示while语句一直循环,后面有两个break都可以跳出循环
	{
		++j;
		if (i < num) {
			cout << "小了" << endl;
		}
		else if(i>num){
			cout << "大了" << endl;
		}
		else if(i==num)
		{
			cout << "恭喜您,猜对了" << endl;
			break;
		}
        //规定在一定次数内猜对,如果猜不对,会显示失败
        //如果不需要可以删除此部分    
		if (j >= 5) {
			cout << "您已猜数超过5次,失败了!" << endl;
			break;
		}

		cout << "请重新输入一个数" << endl;
		cin >> i;
	}		
	system("pause");
	return 0;
}

3.do while循环(水仙花案例)

水仙花案例描述:水仙花数是一个3位数,它的每个位上的数字的3次幂之和等于它本身。

例如1^3+5^3+3^3 = 153

#include<iostream>
using namespace std;
int main() {
	int n = 100;
	do
	{
		int x = n % 10;		//个位
		int y = (n % 100)/10;	//十位
		int z = n / 100;    //百位
        //网上查到可以使用pow函数求一个数的n次方,此处n为3,不是代码中定义的n
		if (n==pow(x,3) + pow(y,3)+pow(z,3)) {
			cout << n << endl;
		}
		n++;
	} while (n>=100 && n<1000);
	system("pause");
	return 0;
}

4.for循环(敲桌子)

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

#include<iostream>
using namespace std;
int main() {
	int i;
	for (i = 1; i <= 100; i++) {
		if ((i%10)==7||(i/10)==7||(i%7)==0) {
			cout << "敲桌子" << endl;
		}
		else
		{
			cout << i << endl;
		}
	}

	system("pause");
	return 0;
}
//(i%10)==7是计算个数是否为7
//(i/10)==7是计算十位是否为7
//(i%7)==0是计算i是否是7的倍数

5.九九乘法表

#include<iostream>
using namespace std;
int main() {
	for (int i = 1; i <= 9; i++)    //行
	{
		for (int j = 1; j <= i; j++) {    //列
			cout << j << " * " << i << " = " << i * j << "   ";
		}
		cout << endl;
	}

	system("pause");
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值