c语言二维数组行列互换

关于“将二维数组的行列元素互换”,我们看个例子:

思路写一下:

首先需要定义一下二维数组a,肉眼可见,数组a是二行三列,所以定义的时候应该这么写:

 int a[2][3] = {{1,2,3},{4,5,6}};

用int是因为二维数组a里面的元素都是整数。

题目让求得二维数组b和二维数组a是行列互换的,所以b应该这么定义:

 int b[3][2];

这题需要用到双重for循环把a[i][j]赋给b[j][i]

 for(i=0;i<=1;i++)
  for(j=0;j<=2;j++)
    b[j][i] = a[i][j];

我们最后得把数组b给输出来,利用循环语句即可:

 printf("数组b为:\n");
for(j=0;j<=2;j++)
{
  for(i=0;i<=1;i++)
    printf("%d\t", b[j][i]);
  printf("\n");
}

总的代码是:

 #include<stdio.h>
int main()
{
  int a[2][3] = {{1,2,3},{4,5,6}};
  int b[3][2],i,j;
  for(i=0;i<=1;i++)
    for(j=0;j<=2;j++)
      b[j][i] = a[i][j];
  printf("数组b为:\n");
  for(j=0;j<=2;j++)
  {
    for(i=0;i<=1;i++)
      printf("%d\t",b[j][i]);
    printf("\n");
  }
  return 0;
}