
1.5.1 if条件语句
if条件语句有三种语法格式,如下图所示。

(1)if语句——单分支结构,其运行逻辑如下图所示。

(2)if…else语句——双分支结构,其运行逻辑如下图所示。

(3)if语句的嵌套。在一个if语句中还可以包含一个或多个if语句,这叫作“if语句的嵌套”,其运行逻辑如下图所示。

训练2(B2050):给定三条线段的长度(正整数),判断这三条线段能否构成一个三角形。

训练3(B2037):给定一个整数n,判断n是奇数还是偶数。若n是奇数,则输出odd;若n是偶数,则输出even。

训练4(P5711):输入一个年份,判断其是否是闰年,是则输出1,否则输出0。

训练5(P5714):BMI指数是国际上常用的衡量人体胖瘦程度的一个指标。BMI=m/h2,其中m指体重(千克),h指身高(米)。不同体型的BMI指数判断逻辑如下。
• 小于18.5:体重过轻,输出Underweight。
• 大于或等于18.5且小于24:正常体重,输出Normal。
• 大于或等于24:肥胖,首先输出BMI指数,然后换行,再输出Overweight。
输入体重和身高数据,根据BMI指数判断体型并输出对应的判断结果。

训练6(B2043):给定一个整数x,判断它能否被3、5、7整除,并输出相应的信息。
• 能同时被3、5、7整除:直接输出3 5 7,每两个数之间都有一个空格,下同。
• 只能被其中两个数整除:按从小到大的顺序输出这两个数,例如35或者37或者57。
• 只能被其中一个数整除:输出这个数。
• 不能被其中的任何一个数整除:输出小写字符“n”。

训练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位小数。

训练8(B2048):请根据邮件的重量和用户要求,选择是否加急计算邮费。计算规则如下。
• 重量在1000克以内(包括):基本邮费8元。
• 超过1000克的部分:每500克加收超重邮费4元,不足500克的部分按500克计算。
• 用户选择加急:多收5元。
输入以空格隔开的正整数x和字符c(y或n),分别表示重量、是否选择加急。若字符是y,则表示选择加急;若字符是n,则表示未选择加急。
