下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如: #define N 4 void sort(int a[][N])

admin2009-03-16  36

问题 下面程序的功能是:将N行N列二维数组中每一行的元素进行排序,第0行从小到大排序,第1行从大到小排序,第2行从小到大排序,第3行从大到小排序,例如:
     
    #define  N  4
    void sort(int a[][N])
     { int i,j,k,t;
        for(i=0;i<N;i++)
        for(j=0;j<N-1;j++)
         for(k=  [  ]  ;k<N;k++)
          /*判断行下标是否为偶数来确定按升序或降序来排序*/
            if(  [  ]  ?a[j]<a[k]:a[j]>a[k])
             { t=a[j];
               a[j]=a[k];
               a[k]=t;
             }
     }
     void outarr(iht a[N][N])
     {  ......  }
     main()
     {int aa[N][N]={{2,3,4,1},{8,6,5,7},{ll,12,10,9},{15,14,16,13}};
        outarr (aa);/*以矩阵的形式输出二维数组*/
        sort (aa);
        outarr (aa);
     }

选项

答案j+1 i%2或i%2=1

解析 根据题意i用于行判断,变量j和k是进行同—行中前后列的判断,所以k=j+1,题目要求隔行按升序或降序来排序,所以可以使用行下标来判断排序效果,a[j]>a[k]表示当同行中前面的数据大于后面的数据时进行数据交换,题目要求偶数行的数据是按声许升序排列,所以要想执行此操作必须要条件表达式中的表达式1为假,所以此处答案为:i%2或i%2=1。
转载请注明原文地址:https://kaotiyun.com/show/plXp777K
0

最新回复(0)