输入格式:
输入包含n + 1行:
第一行为一个正整数n(1 <= n <= 10)。
第二行到第n + 1行,每行有n个整数,邻近两数之间用一个空格隔开。
输出格式:
输出为转置后的矩阵,包含n行:
每行有n个整数,邻近两数之间用一个空格隔开。
输入样例:
5
12 3 4 1 3
5 6 2 1 7
7 1 8 3 9
1 6 1 1 10
6 9 1 5 2
输出样例:
12 5 7 1 6
3 6 1 6 9
4 2 8 1 1
1 1 3 1 5[
3 7 9 10 2
#include<stdio.h>
int main(){
void M_t(int *p,int n);
int a[10][10],i,n;
int *p;
scanf("%d",&n);
for(i=0,p=a[0];i<n*n;i++)
scanf("%d",p++);
M_t(a[0],n);
for(i=0,p=a[0];i<n*n;i++){
printf("%d ",*(p++));
if((i+1)%n==0&&i!=0) printf("\n");
}
return 0;
}
void M_t(int *p,int n){
int i,j,t;
for(i=0;i<n;i++)
for(j=0;j<=i;j++){
t=*(p+i*n+j);
*(p+i*n+j)=*(p+j*n+i);
*(p+j*n+i)=t;
}
}