写程序,实现矩阵(3行3列)的转置(即行列互换)


代码如下:

				
#include<stdio.h>
#define N 3

int main()
{
     int input(int a[N][N]);
     int fun(int a[N][N]);
     int output(int a[N][N]);
     int a[N][N];
     input(a);
     printf("The original 3*3 Matrix is:\n");
     output(a);
     fun(a);
     printf("The sorted 3*3 Matrix is:\n");
     output(a);
     return 0;
}

int input(int a[N][N])//实现矩阵的输入
{
     int i,j;
     printf("Please input the 3*3 Matrix:\n");
     for(i=0;i<N;i++)
     {
         for(j=0;j<N;j++)
         {
             scanf("%d",&a[i][j]);
         }
     }
     return 0;
}

int fun(int a[N][N])//实现矩阵的转置
{
     int i,j,temp;
     for(i=0;i<N-1;i++)
     {
         for(j=i+1;j<N;j++)
         {
             temp=a[i][j];
             a[i][j]=a[j][i];
             a[j][i]=temp;
         }
     }
     return 0;
}

int output(int a[N][N])//实现矩阵的输出
{
     int i,j,k=0;
     for(i=0;i<N;i++)
     {
         for(j=0;j<N;j++)
         {
             printf("%5d",a[i][j]);
             k++;
             if(k==N)
             {
                 printf("\n");
                 k=0;
             }
         }
     }
     return 0;
}




联系我们 | 友情链接