【题目描述】
写一个函数,将一个n*n(n<10)的二维数组进行转置,即行列交换。要求在主函数中完成输入和输出。
【输入说明】
输入第一行只包括1个数字,表示n,接下来有n行,每行有n个整数。
【输入样例】
3
1 2 7
3 4 8
5 6 9
【输出样例】
1 3 5
2 4 6
7 8 9
代码实现
#include <stdio.h>
//将n行n列的二维数组x转置
void transpose(int n,int x[][100])
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",x[j][i]);
}
printf("\n");
}
}
int main()
{
int n,i,j,s[100][100]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
scanf("%d",&s[i][j]);
}
transpose(n,s);
return(0);
}