填空题
给定程序中,函数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
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#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<m; i++){
/**********found**********/
for(j=
2; j<N-i; j++)
a[i][j]=a[N-i-1][j]=i+1;
for(k=i+1; k<N-i; 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<N; i++)
{ for(j=0; j<N; j++)printf("%3d", x[i][j]);
printf("/n");
}
}