第4章选择和循环结构程序设计 【例4.4】输入3个数a,b,c,要求按由小到大的顺序输出 解此题比上一题复杂一些。方法上还是类似,只需认准排序之 后,a是三者中最小的,c是最大的,即可。具体步骤如下 如果a>b则将a和b对换 (a是ab中的小者) 如果a>c则将a和c对换 (a是ac中的小者,因此a是三者 中最小者) 如果b>c则将b和c对换 (b是b,c中的小者,也是三者中 的次小者) 然后顺序输出ab,c即可。 因此程序如下: #includestdio. h> main Float a,b,c,t scanf("%f, %f, %f,&a,&b,&c) if(a>b) {t=a;a-b;b=t;}/*实现a和b的互换米/ Back
第4章 选择和循环结构程序设计 【例4.4】 输入3个数a٫b٫c,要求按由小到大的顺序输出。 解此题比上一题复杂一些。方法上还是类似,只需认准排序之 后,a是三者中最小的,c是最大的,即可。具体步骤如下: 如果a>b 则将a和b对换 (a是a٫b中的小者) 如果a>c 则将a和c对换 (a是a٫c中的小者,因此a是三者 中最小者) 如果b>c 则将b和c对换 (b是b٫c中的小者,也是三者中 的次小者) 然后顺序输出a٫b٫c即可。 因此程序如下: #include<stdio.h> main() {float a٫b٫c٫t; scanf(″%f٫%f٫%f″ ٫&a٫&b٫&c); if(a>b) {t=a;a=b;b=t;}/*实现a和b的互换*/
第4章选择和循环结构程序设计 if(a>c) It=a; a=c: c=t /*实现a和c的互换*/ if(b>c) It=b b=C:c=t /*实现b和c的互换*/ printf("%5.2f,%5.2f,%5.2f\n",ab,c); return 0 程序运行情况如下: 9,8,7 7.008.00,9.00 4.if语句的嵌套 在if语句中又包含一个或多个if语句称为ⅱ语句的嵌套。一般 形式如下: if(表达式1) if(表达式2)语句1 else语句2 Back
第4章 选择和循环结构程序设计 if(a>c) {t=a;a=c;c=t;} /*实现a和c的互换*/ if(b>c) {t=b;b=c;c=t;} /*实现b和c的互换*/ printf(″%5.2f٫%5.2f٫%5.2f\n″ ٫a٫b٫c); return 0; } 程序运行情况如下: 9٫8٫7↙ 7.00٫8.00٫9.00 4.if语句的嵌套 在if语句中又包含一个或多个if语句称为if语句的嵌套。一般 形式如下: if(表达式1) if(表达式2) 语句1 else 语句2
第4章选择和循环结构程序设计 else if(表达式3)语句3 else语句4 应当注意i与else的配对关系。else总是与它前面最近的可见的 未配对的i进行配对使用。假如写成: if(表达式1 if(表达式2)语句1 else if(表达式3)语句2 ese语句3 编写者把else写在与第一个if(外层if)同一列上,希望else与第 个f对应,但实际上else是与第二个if配对,因为它们相距最 近。因此最好使内嵌if语句也包含else部分(如嵌套的前一种形 式),这样i的数目和ese的数目相同,从内层到外层一一对应 ,不致出错 <Back
第4章 选择和循环结构程序设计 else if(表达式3) 语句3 else 语句4 应当注意if与else的配对关系。else总是与它前面最近的可见的 未配对的if进行配对使用。假如写成: if(表达式1) if(表达式2) 语句1 else if(表达式3) 语句2 else 语句3 编写者把else写在与第一个if(外层if)同一列上,希望else与第 一个if对应,但实际上else是与第二个if配对,因为它们相距最 近。因此最好使内嵌if语句也包含else部分(如嵌套的前一种形 式),这样if的数目和else的数目相同,从内层到外层一一对应 ,不致出错
第4章选择和循环结构程序设计 如果if与else的数目不一样,为实现程序设计的企图,可以 加花括弧来确定配对关系,使它们不可见。例如: if(表达式1) if(表达式2)语句1 (内嵌if,相对于下 面的else不可见) else语句2 这时旮}限定了内嵌if语句的范围,因此else与第一个if配对 【例4.5】有一函数: 2x-1 (x<0 2x+1 (x>0 编写一程序,输入一个x值,输出y值。 分析如下 输入x fc
第4章 选择和循环结构程序设计 如果if与else的数目不一样,为实现程序设计的企图,可以 加花括弧来确定配对关系,使它们不可见。例如: if(表达式1) {if(表达式2) 语句1} (内嵌if,相对于下 面的else不可见) else 语句2 这时{}限定了内嵌if语句的范围,因此else与第一个if配对 。 【例4.5】 有一函数: 2x-1 (x<0) y= 0 (x=0) 2x+1 (x>0) 编写一程序,输入一个x值,输出y值。 分析如下: 输入x
第4章选择和循环结构程序设计 若x<0y=2x-1 若x=0y=0 若x>0y=2x+1 输出y 或 输入x 若x<0y=2x-1 否则: 若x=0y=0 若x>0y=2x+1 输出y 有以下几个程序,请读者判断哪个是正确的? 程序1: maino int x,y; Back
第4章 选择和循环结构程序设计 若x<0 y=2x-1 若x=0 y=0 若x>0 y=2x+1 输出y 或: 输入x 若x<0 y=2x-1 否则: 若x=0 y=0 若x>0 y=2x+1 输出y 有以下几个程序,请读者判断哪个是正确的? 程序1: main() { int x٫y;