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

admin2020-06-16  13

问题 有以下程序:
    #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://jikaoti.com/ti/neD0FFFM
0

最新回复(0)