有以下程序: #include<stdio.h> main( ) { float a,b,e,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=

admin2022-06-24  25

问题 有以下程序:
#include<stdio.h>
main( )
{
float a,b,e,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/jLkp777K
0

最新回复(0)