问题
单项选择题
有以下程序:
main()
int x[]=1,3,5,7,2,4,6,0),i,j,k;
for(i=0;i<3;i++)
for(j=2;i>=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[i]);
printf("\n");
程序运行后的输出结果是( )。
A.75310246
B.01234567
C.76310462
D.13570246
答案
参考答案:A
解析: 主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的元素值为75310246,所以,4个选项中选项A符合题意。