单项选择题

填空使得以下程序实现矩阵的转置。针对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]

微信扫码免费搜题