一道c语言题目(二级题目)

来源:百度知道 编辑:UC知道 时间:2024/06/03 00:26:38
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+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");
}
程序输出的结果是什么?请详细写出运算过程,按要求回答者得分。
截止11月2日17:17 回答者的答案有误,请核对!

76540123

先是前4个排序
75312460
然后全部排序
76543210
然后后4个排序
76540123

楼下说的是 我自己算答案和全部排序一样 就这么写了
意义上是什么我不清楚..

答案就是一楼的那个,76540123;

但是第二块不是全部排序,而是后四个排序,
当然,一二不合起来就是全部排序了(从大到小);

而第三块就是后四个按从小到大排序。