写一个函数,使给定的一个3*3的二维整型数组转置,即行列互换(C语言)
题目要求:如标题
思路:
- 现有一个二维数组a[3][3],需要将其转置,可以先定义一个空数组b[3][3]
- 将a[j][i]放入到b[i][j]中,此时b即为a的转置
- 最后把b赋值给a即可
以下是具体代码:
#include <stdio.h>
int main()
{
void array_switch(int a[3][3]);
int array[3][3];
printf("please enter an array: ");
int i,j;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&array[i][j]);
array_switch(array);
printf("The switched array is:\n");
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
{
printf("%d ",array[i][j]);
if(j==2)
printf("\n");
}
return 0;
}
void array_switch(int a[3][3])
{
int i,j;
int b[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
{
b[i][j]=a[j][i];
}
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
{
a[i][j]=b[i][j];
}
}