问答题 下列给定程序中,函数fun的功能是:将N X N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 交换后为: 3 2 1 4 5 6 9 8 7 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构! 试题程序:#include<stdio.h>#define N 4/******found******/void fun(int___1___,int n){ int i,s;/******found******/for(___2___;i++){ s=t[i][i]; t[i][i]=t[i][n—i一1];/******found******/ t[i][n一1一i]=___3___; }}main(){ int t[][N]=t 21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;prinff(“\nThe original array:\n”);for(i=0;i<N;i++){ for(j=0;j<N;j++) prinff(“%d”,t[i][j]); printf(“\n”); } fun(t,N); prinff(“\nThe result is:\n”); for(i=0;i<N;i++) { for(j=0;j<N;j++) prinff(“%d”,t[i][j]); printf(“\n”); }}
【正确答案】正确答案:(1)t[][N] (2)i=0;i
【答案解析】解析:本题考查:函数定义;for循环语句;数组元素的引用和赋值;变量值交换算法。 填空1:根据main函数中的函数调用语句,可以填写fun函数定义中的形参内容。 填空2:由于是N×N矩阵,所以for语句中循环变量i的取值范围是0到N。 填空3:for循环体中是变量值交换算法。