问答题
给定程序中,函数fun的功能是建立一个N×N的矩阵。 矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
#define N 7
/**********found**********/
void fun(int (*a) __1__)
{ int i,j,k,m;
if(N%2==0) m=N/2 ;
else m=N/2+1;
for(i=0; i
/**********found**********/
for(j= __2__ ; j
a[i][j]=a[N-i-1][j]=i+1;
for(k=i+1; k
/**********found**********/
a[k][i]=a[k][N-i-1]= __3__;
}
}
main()
{ int x[N][N]={0},i,j;
fun(x);
printf("/nThe result is:/n");
for(i=0; i
{ for(j=0; jprintf("/n");
}
}
【正确答案】第一处:建立一个N×N的矩阵,所以应填:[N]。
第二处:j的起始变量值应i。
第三处:也应该填写i+1。
【答案解析】