有以下程序: #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

admin2019-05-12  25

问题  有以下程序:
#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>h不成立,因此不执行{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/yeID777K
0

相关试题推荐
最新回复(0)