问答题
18分
下列给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素做顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临...
下列给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素做顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。
例如,若N=3,有下列矩阵:
操作后应为:
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
例如,若N=3,有下列矩阵:
操作后应为:
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
参考解析: 【参考答案】
(1)0 (2)j-- (3)j
【考点分析】
本题考查:数组元素的引用;for循环语句。
【解题思路】
填空1:N×N矩阵,第一列元素表示为t[0][N-j-1],第一行元素表示为t[j][0],将第一列赋值给第一行,因此填入0。
填空2:for循环语句中,变量j的变化范围为从N-1递减到0,因此j做自减1操作。
填空3:最后将临时数组r中的元素赋值给矩阵最后一列。
【解题宝典】
二维数组周边元素的表示方法,通过设定数组下标来完成。我们举个简单的例子来说明,如二维数组a[3][3],我们列出它的所有数组元素:
a[0][0],a[0][1],a[0][2]
a[1][0],a[1][1],a[1][2]
a[2][0],a[2][1],a[2][2]
那么其周边元素有a[0][0],a[0][1],a[0][2], a[1][0], a[1][2] , a[2][0],a[2][1],a[2][2]。如果我们把a[3][3]改为a[i][j],就不难表示出该数组的周边元素: