![算法训练营:入门篇(全彩版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/905/51893905/b_51893905.jpg)
1.5.1 if条件语句
if条件语句有三种语法格式,如下图所示。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_15_1.jpg?sign=1739191253-tATeRubKNHOGOhffP4HcbrL2UXaXFyFV-0-56820d8682643ccb73ff59aa9dc11820)
(1)if语句——单分支结构,其运行逻辑如下图所示。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_15_2.jpg?sign=1739191253-MUNErOL7cJnqrOX3Jbw6ysh0IYRwKxfu-0-3e34416aad5c3685737a8b2f41244b35)
(2)if…else语句——双分支结构,其运行逻辑如下图所示。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_15_3.jpg?sign=1739191253-VNHleMV1ztf21f9QJci6w2YDuE0sZ536-0-d9fe4b3366fb80c6396ecaee1ad16ae8)
(3)if语句的嵌套。在一个if语句中还可以包含一个或多个if语句,这叫作“if语句的嵌套”,其运行逻辑如下图所示。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_16_1.jpg?sign=1739191253-gdK1c6XFrXw4NyzJkaovKFOTgNs7Gfoc-0-327a32aa38c53be259b7476a3927969c)
训练2(B2050):给定三条线段的长度(正整数),判断这三条线段能否构成一个三角形。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_16_2.jpg?sign=1739191253-EEQ5PvWOmjlXfyIFnUXTdUIYEBiRJRvf-0-5dbf17f55ff130b5cc1a4b6880ac6f5c)
训练3(B2037):给定一个整数n,判断n是奇数还是偶数。若n是奇数,则输出odd;若n是偶数,则输出even。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_16_3.jpg?sign=1739191253-qieWktLcatmkrvxDbZjeRnUSufuTyVCT-0-e27b39e8a22ab1932fa49f9d44031f5c)
训练4(P5711):输入一个年份,判断其是否是闰年,是则输出1,否则输出0。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_17_1.jpg?sign=1739191253-fqZic7KlVgG2p3n03Ky0uCwET3LzdoXL-0-a1925c46d292222efff1c1a70c097a21)
训练5(P5714):BMI指数是国际上常用的衡量人体胖瘦程度的一个指标。BMI=m/h2,其中m指体重(千克),h指身高(米)。不同体型的BMI指数判断逻辑如下。
• 小于18.5:体重过轻,输出Underweight。
• 大于或等于18.5且小于24:正常体重,输出Normal。
• 大于或等于24:肥胖,首先输出BMI指数,然后换行,再输出Overweight。
输入体重和身高数据,根据BMI指数判断体型并输出对应的判断结果。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_17_2.jpg?sign=1739191253-SbAxhXyAwDkLDXLduxhZqYXvylWVKbpK-0-bc49bb5b26803e08d40babc7d8a91f6c)
训练6(B2043):给定一个整数x,判断它能否被3、5、7整除,并输出相应的信息。
• 能同时被3、5、7整除:直接输出3 5 7,每两个数之间都有一个空格,下同。
• 只能被其中两个数整除:按从小到大的顺序输出这两个数,例如35或者37或者57。
• 只能被其中一个数整除:输出这个数。
• 不能被其中的任何一个数整除:输出小写字符“n”。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_18_1.jpg?sign=1739191253-ez8PtZSBdfW0PEzFyofWx9Bd8A2o1Uyk-0-74cc7e165e2bd7bbf0f6bb45a7cf25ba)
训练7(B2047):编写程序,计算下列分段函数y=f(x)的值。
• 当0≤x<5时,y=-x+2.5。
• 当5≤x<10时,y=2-1.5(x-3)(x-3)。
• 当10≤x<20时,y=x/2-1.5。
输入一个浮点数x(0≤x<20),输出x对应的分段函数值f(x),结果保留3位小数。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_18_2.jpg?sign=1739191253-cZtdVcg5bEFHMZtYCEjf8Y9VYrSiqhst-0-f38517559059e497d37c77d0436c633f)
训练8(B2048):请根据邮件的重量和用户要求,选择是否加急计算邮费。计算规则如下。
• 重量在1000克以内(包括):基本邮费8元。
• 超过1000克的部分:每500克加收超重邮费4元,不足500克的部分按500克计算。
• 用户选择加急:多收5元。
输入以空格隔开的正整数x和字符c(y或n),分别表示重量、是否选择加急。若字符是y,则表示选择加急;若字符是n,则表示未选择加急。
![](https://epubservercos.yuewen.com/B6CE70/30655059804960606/epubprivate/OEBPS/Images/48757_19_1.jpg?sign=1739191253-Ll9tuTgUJznCrTvHB9yYACtZfNwrsRvA-0-10422b43de4c9698c518d2aa592adbea)