#include <stdio.h>
#define N 10
void Swap(int *x,int *y);
void Transpose(int a[][N],int n);
void InputMatrix(int a[][N],int n);
void PrintMatrix(int a[][N],int n);
int main()
{
int s[N][N],n;
printf("Ip n?:::");
scanf("%d",&n);
InputMatrix(s,n);
Transpose(s,n);
printf("The transposed matrixis:::\n");
PrintMatrix(s,n);
return 0;
}
void Swap(int *x,int *y)/*交换两个整数的值*/
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
void Transpose(int a[][N],int n)/*计算n*n矩阵*/
{
int i,j;
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
Swap(&a[i][j],&a[j][i]);
}
}
}
void InputMatrix(int a[][N],int n)/*输入n*n矩阵的值*/
{
int i,j;
printf("Ip %d*%dmatrix?::::\n",n,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
}
void PrintMatrix(int a[][N],int n)/*输出n*n矩阵的值*/
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
#define N 10
void Swap(int *x,int *y);
void Transpose(int a[][N],int n);
void InputMatrix(int a[][N],int n);
void PrintMatrix(int a[][N],int n);
int main()
{
int s[N][N],n;
printf("Ip n?:::");
scanf("%d",&n);
InputMatrix(s,n);
Transpose(s,n);
printf("The transposed matrixis:::\n");
PrintMatrix(s,n);
return 0;
}
void Swap(int *x,int *y)/*交换两个整数的值*/
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
void Transpose(int a[][N],int n)/*计算n*n矩阵*/
{
int i,j;
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
Swap(&a[i][j],&a[j][i]);
}
}
}
void InputMatrix(int a[][N],int n)/*输入n*n矩阵的值*/
{
int i,j;
printf("Ip %d*%dmatrix?::::\n",n,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
}
void PrintMatrix(int a[][N],int n)/*输出n*n矩阵的值*/
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}