有以下程序: #include<stdio.h> main() { float a,b,c,t; a=3;b=7;c=1; if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c

admin2020-04-18  23

问题 有以下程序:
   #include<stdio.h>
   main()
   {
   float a,b,c,t;
   a=3;b=7;c=1;
   if(a>b)
   {t=a;a=b;b=t;}
   if(a>c)
   {t=a;a=c;c=t;}
   if(b>c)
   {t=b;b=c;c=t;}
   printf("%5.2f,%5.2f,%5.2f",a,b,c);
   }
   程序运行后的输出结果是(其中口代表空格)(    )。

选项 A、口口3.00,口口1.00,口口7.00
B、口口3.00,口口7.00,口口1.00
C、口口1.00,口口3.00,口口7.00
D、口口7.00,口口3.00,口口1.00

答案C

解析 本题考查if语句。该题包含了3个if语句,每个if语句后的{}都不可省略,因为每个{}中都包含了多条语句。首先判断条件a>b,由于3小于7,表达式a>b不成立,因此不执行{t=a;a=b;b=t;};然后判断条件a>c,由于3大于1,因此表达式a>c成立,则执行{t=a;a=c;c=t;),该表达式语句是用来交换a和c的值,执行完后a为1,c为3;然后判断条件b>c,由于7大于c中的3,因此b>c成立,则执行{t=b;b=c;c=t;},过程同上,执行后b为3,c为7。printf语句用来输出a,b,c中的值,并且要求输出的每个数据宽度为5个空格,小数部分保留2位,数据右对齐。故最后输出为C选项中所示结果。
转载请注明原文地址:https://kaotiyun.com/show/wtCp777K
0

最新回复(0)