有以下程序: main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;j--) if (x[j+1)>x[j]

admin2010-09-05  25

问题 有以下程序:    main()    {    int x[]={1,3,5,7,2,4,6,0},i,j,k;       for(i=0;i<3;i++)       for (j=2;j>=i;j--)        if (x[j+1)>x[j]){k=x[j];x[j];x[j+1);x[j+1]=k;}    for (i=0;i<3;i++)      for (j=4;j<7-i;j++)       if (x[j]>x[j+1]){k=x [j];x[j]=x[j+1];x[j+1)=k;}    for(i=0;i<8;i++)printf("%d",x);    printf("\n");    }    程序运行后的输出结果是 ______。

选项 A、75310246
B、1234567
C、76310462
D、13570246

答案A

解析 本题中第一次执行for循环后,数组x中的前四个元素按由大到小的次序排序,即x[0]=7、x[1]=5、x[2]=3、 x[3]=1、x[4]=2、x[5]=4、x[6]=6、x[7]=0;第二次执行for循环后,数组x中的后4个元素按由小到大的次序排序,即此时x[0]=7、x[1]=5、x[2]=3、x[3]=1、x[4]=0、x[5]=2、x[6]=4、x[7]=6。故正确答案为A。
转载请注明原文地址:https://kaotiyun.com/show/AcWp777K
0

最新回复(0)