热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C++保姆级入门教程(6)——分支结构

新手小

哈喽大家好,我是iecne,本期为大家带来的是CPP/C++保姆级入门教程的第六期—— 分支结构,包教包会,快来看看吧!

此教程适合新手小白,因为语言会十分的通俗易懂,不会有很多的专业词汇出现,可以更好的掌握并且吸收,后续加上持之以恒的练习题目将会基本巩固


目录

一.分支结构是什么

二.分支结构的用法

三.分支结构题目练习

  

1.数的性质

(1)题目解析

(2)参考答案

2.月份天数

(1)题目解析

(2)参考答案

3.ABC

(1)题目解析

(2)参考答案

四.max和min

五.总结

系列文章目录


一.分支结构是什么

人们在人生中需要做出许多选择,小到考虑晚上吃什么,大到决定高考志愿填报的学校。只有一次次选择后才能带来无限可能,我们要根据自己掌握的情况,做出最佳的选择。

程序的执行也不是一成不变的,往往会要求程序能够在不同的场合下有不同的动作。这时就需要在代码中使用条件语句来做出不同的选择


二.分支结构的用法

循序结构具体怎么做,新手小白们若没有看过

C++保姆级入门教程(3)   if语句

可以点击链接学习学习


三.分支结构题目练习

以下就是一些对于掌握分支结构的题目

  

1.数的性质

题目描述

一些整数可能拥有以下的性质:

  • 性质 1:是偶数;
  • 性质 2:大于 44 且不大于 1212。

小 A 喜欢这两个性质同时成立的整数;Uim 喜欢这至少符合其中一种性质的整数;八尾勇喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。现在给出一个整数 xx,请问他们是否喜欢这个整数?

输入格式

输入一个整数 x(0\le x \le 1000)x(0≤x≤1000)

输出格式

输出这 44 个人是否喜欢这个数字,如果喜欢则输出 1,否则输出 0,用空格分隔。输出顺序为:小 A、Uim、八尾勇、正妹。

输入输出样例

输入 

12

输出 

1 1 0 0

(1)题目解析

先把所有人假设为不喜欢这个数,

然后根据每个人的喜好判断,

如果喜欢,

则值为11,否则为00,

最后输出。

ifif判断的根据:

性质 1:是偶数

性质 2:大于 4 且不大于 12

小A 喜欢这两个性质同时成立的数字;Uim 喜欢这至少符合其中一种性质的数字;八尾勇喜欢刚好有符合其中一个性质的数字;正妹喜欢不符合这两个性质的数字

(2)参考答案

#include using namespace std; int a = 0, b = 0, c = 0, d = 0, n; int main() { cin >> n; if (n % 2 == 0 && n > 4 && n <= 12) a = 1; if (n % 2 == 0 || n > 4 && n <= 12 || n % 2 == 0 && n > 4 && n <= 12) b = 1; if (n % 2 == 0 && n <= 4 && n > 12 || n > 4 && n <= 12 && n % 2 == 1) c = 1; if (n % 2 == 1 && n <= 4 || n % 2 == 1 && n > 12) d = 1; printf("%d %d %d %d\n", a, b, c, d);//这里需要很多的空格,用printf更方便 //cout <


2.月份天数

题目描述

输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。

输入格式

输入两个正整数,分别表示年份 yy 和月数 mm,以空格隔开。

输出格式

输出一行一个正整数,表示这个月有多少天。

输入输出样例

输入    1926 8

输出    31

输入    2000 2

输出    29

(1)题目解析

    这题具备一些常识就能过。

  1. 大月31天:1,3,5,7,8,10,12
  2. 小月30天:4,6,9,11
  3. 2月特殊: 平年28天,闰年29天

   四年一润,百年不润,四百年再润

        (小学内容)

     但是对Cpp(c++ pp不许要按Shift)的新手小白来说会比较不友好,因为分支很多并且复杂

  (2)参考答案

#include using namespace std; int main() { int n, m; //long long cin >> n >> m; if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) { cout <<"31" <


3.ABC

【题目描述】

三个整数分别为 A,B,CA,B,C。这三个数字不会按照这样的顺序给你,但它们始终满足条件:A

【输入格式】

第一行包含三个正整数 A,B,CA,B,C,不一定是按这个顺序。这三个数字都小于或等于 100100。第二行包含三个大写字母 AA、BB 和 CC(它们之间没有空格)表示所需的顺序。

【输出格式】

在一行中输出 AA,BB 和 CC,用一个 (空格)隔开。

输入输出样例

输入

1 5 3 ABC

输出 

1 3 5

输入 #2

6 4 2 CAB

输出 #2

6 2 4

(1)题目解析

第一行:输入三个数x、y、z,这三个数不一定有序,我们设A为当中(x,y,z中)最小的,C为最大的,B为剩下的那个(非最小非最大)。)

现在你手里有ABC三个数了

第二行:输入ABC三个字母(任意顺序),输出对应的ABC(就是上一行那三个数)

//感谢 Lucaster_ 的翻译

(2)参考答案

#include using namespace std; int a,b,c,i,x,y,z,sum; char ch; int main() { cin>>x>>y>>z; sum=x+y+z; a=min(min(x,y),z); c=max(max(x,y),z); b=sum-a-c; for(i=1;i<=3;i++) { cin>>ch; if(ch=='A') cout<

四.max和min

我们上一《难题》用了一个很难的方法—— max and min

a=min(min(x,y),z); c=max(max(x,y),z);

我们看一下这两条代码,再分解以下

int aa,cc,a,c; int x,y,z; aa=min(x,y); a=min(aa,z); cc=max(x,y) c=max(cc,z);

首先解释以下min

比如aa=min(x,y),意思就是aa=x和y中小的一个

若x=10,y=8,aa=min(x,y),则aa=y //8

反之,max就是取大的

若x=10,y=8,aa=max(x,y),则aa=x //10

然后我们把新的知识联系到老知识里边

aa=min(x,y); 就等于 if(x>y) aa=y; else aa=x; aa=max(x,y); 就等于 if(x>y) aa=x; else aa=y;

而第三题的那段代码就不用我解释了吧?

五.总结

本节课主要是讲解三道循序结构的题目,至此分支结构(if)思想博主已经分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下

包教包会,帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!


系列文章目录

 本期收录于博主的专栏——C++保姆级入门教程,适用于编程入门初学者,感兴趣的朋友们可以订阅,查看其它专栏。

C++保姆级入门教程_iecne的博客-CSDN博客

C++保姆级入门教程(1)   变量 输出 输入

C++保姆级入门教程(2)   算术运算和赋值

C++保姆级入门教程(3)   if语句

C++保姆级入门教程(4)   循环

C++保姆级入门教程(5)   顺序结构

C++保姆级入门教程(6)   分支结构


感谢每一个观看本篇文章的朋友,更多精彩敬请期待:iecne的博客_CSDN博客-C++保姆级入门教程领域博主

文章存在借鉴,如有侵权请联系修改删除!


推荐阅读
  • 本文探讨了符号三角形问题,该问题涉及由相同数量的“+”和“-”符号组成的三角形。通过递归回溯法,可以有效地搜索并计算符合条件的符号三角形的数量。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 大数据基础:JavaSE_day06 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文介绍两道有趣的编程问题:一是寻找给定数字n的连续数字序列及其个数,二是模拟一个翻杯子的游戏。同时附带一道智商题供读者思考。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • JSOI2010 蔬菜庆典:树结构中的无限大权值问题
    本文探讨了 JSOI2010 的蔬菜庆典问题,主要关注如何处理非根非叶子节点的无限大权值情况。通过分析根节点及其子树的特性,提出了有效的解决方案,并详细解释了算法的实现过程。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 本文介绍如何使用MFC和ADO技术调用SQL Server中的存储过程,以查询指定小区在特定时间段内的通话统计数据。通过用户界面选择小区ID、开始时间和结束时间,系统将计算并展示小时级的通话量、拥塞率及半速率通话比例。 ... [详细]
  • 本文介绍如何利用栈数据结构在C++中判断字符串中的括号是否匹配。通过顺序栈和链栈两种方式实现,并详细解释了算法的核心思想和具体实现步骤。 ... [详细]
  • 本文介绍了如何使用暴力方法解决HDU5444问题。代码通过逐个检查输入数据,确保在所有情况下都能找到正确的解决方案。 ... [详细]
  • Android 6.0 切换指定 Wi-Fi 的解决方案
    本文详细介绍了在 Android 6.0 系统中切换到指定 Wi-Fi 的方法,包括常见的问题、原因分析及解决方案。通过官方文档和代码示例,帮助开发者更好地理解和实现这一功能。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
author-avatar
张琇萍家云
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有