目标写一个函数使给定的一个3*3的二维整型数组转置即行列转换。代码#include stdio.h int main() { void tran(int a[3][3]); int a[3][3]; for (int i0;i3;i) { for (int j 0; j 3; j) { scanf(%d, a[i][j]); } } for (int i 0; i 3; i) { for (int j 0; j 3; j) { printf(%d , a[i][j]); } printf(\n); } tran(a); for (int i 0; i 3; i) { for (int j 0; j 3; j) { printf(%d , a[i][j]); } printf(\n); } return 0; } void tran(int a[3][3])//转置 { for (int i 0; i 3; i) { for (int j 0; j i; j)//只需交换上三角 { int temp a[i][j]; a[i][j] a[j][i]; a[j][i] temp; } } }输入输出注意事项可以选择提前定义一个相同大小的数组用来存放转置后的结果如果想像本程序一样节省存储空间可以在原数组的基础上直接进行转置但是要注意转置时行数和列数循环的条件如果将函数定义写成一下这种方式void tran(int a[3][3])//转置 { for (int i 0; i 3; i) { for (int j 0; j 3; j) { int temp a[i][j]; a[i][j] a[j][i]; a[j][i] temp; } } }输入输出问题在于应该像原程序那样只需要将左下角和右上角的数据转换一次位置即可。或者建立新数组