问答题 给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。 例如,若N=3,有下列矩阵: 1 2 3计算结果为 7 4 1 4 5 6 8 5 2 7 8 9 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 4 void fun(int (*t)[N]) { int j ,r[N]; for(j=0; j=0;【2】) t[N-l][N-l-j]=t[j][N-l]; for(j=N-l; j>=0; j --) /*********found**********/ t[j] [N-l]=r[【3】]; } main () {int t[][N]={21,12,13,24,25,16,47, 38,29,11,32,54,42,21,33,10},i,j; printf("/nThe original array:/n"); for(i=0; i
【正确答案】正确答案:(1)0 (2)j-- (3)j
【答案解析】解析:第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是“t[j][0]”,第一行元素是“t[0][N-j-1]”,故第一空处应为“0”。 第二空:第四个循环是最后一列成为最后一行,即将最后一列移动到最后一行,“for(j=N-1;j>=0;【2】)”循环变量j从N-1开始,到0结束,共循环N次,故j每次减1,第三空处是“j--”。 第三空:最后一个循环将临时数组中的元素成为最后1列,即“t[j][N-1]=r[j]”,故第三空处应为“j”。