有以下程序 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]){

admin2013-06-11  37

问题 有以下程序     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

答案1

解析 主函数中定义了一个整型数组x,并初始化。接着执行了一个二重 for循环,在该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组各元素的值为75310246。
转载请注明原文地址:https://jikaoti.com/ti/ELn0FFFM
0

最新回复(0)