问题 填空题

下面程序的功能是:将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= [13] ;k<N;k++) /*判断行下标是否为偶数来确定按升序或降序来排序*/ if( [14] a[i][j]<a[i][k]:a[i][j]>a[i][k]) { t=a[i][j]; a[i][j]=a[i][k]; a[i][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); }

答案

参考答案:[13] j+1

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

选择题
单项选择题