单项选择题
填空使得以下程序实现矩阵的转置。针对n行n列(n不超过10)的矩阵,转置是指将其行列进行互换,例如原始矩阵为
1 2 3
4 5 6
7 8 9
转置后变成
1 4 7
2 5 8
3 6 9
在main函数中实现输入矩阵数据,输出转置后的矩阵。矩阵的转置通过函数void ArrayOp(int a[][N], int n)实现。
#define N 10
int main()
{
void ArrayOp(int a[][N], int n);
int a[ N][N],i,j,n;
printf("please input n ");
scanf("%d",&n);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
scanf(“%d”,&a[i][j]);
ArrayOp( (1) );
for (i = 0; i < n; i++)
{
printf(“”);
for (j = 0; j < n; j++)
printf(“%8d”,a[i][j]);
}
return 0;
}
void ArrayOp(int a[][N], int n)
{
int i = 0, j = 0;
int t;
for (i = 0; i < n ; i++)
for ( (2) ; j < n ; j++)
{
t = a[j][i];
(3) ;
a[i][j] = t;
}
}
A、(1)a,n
(2)j = 0
(3)a[j][i] = a[i][j]
B、
(1)a,n
(2)j = i + 1
(3)a[j][i] = a[i][j]
C、
(1)a[][N],n
(2)j = i + 1
(3)a[i][j] = a[j][i]
D、(1)a[N][N],n
(2)j = 0
(3)a[j][i] = a[i][j]