简单的矩阵转置

//编写程序,把3*3阶矩阵A加上矩阵A的转置,计算结果存放在矩阵B中并输出。
//
//输入说明:输入矩阵A中的元素,数组元素用空格分隔,数组每行用换行分隔
//
//输出说明:输出矩阵B,元素之间用空格分隔,数组每行用换行分隔
//
//输入示例:1 2 3
// 4 5 6
// 7 8 9
//
//输出示例: 2 6 10
// 6 10 14
// 10 14 18

#include<stdio.h>//转置的意思是行列互换所以有idea了。  a[i][j]=a[j][i]
# define n 3
int b[n][n];
int main()
{
    
     void convert(int b[][3]);
  void sum(int a[][3]);
	int i,j;
		int a[n][n];
		 for(i=0;i<n;i++)
		 	for(j=0;j<n;j++)
		 	{
    
    scanf("%d",&a[i][j]);
		 	 b[i][j]=a[i][j];
			 }
			 convert(b);
			 sum(a);
			 for(i=0;i<n;i++)
			 	{
    
    for(j=0;j<n;j++)
			 	{
    
    printf("%d ",b[i][j]);
				 }
				 printf("\n");
				 }
 }
 void convert(int b[][3])
 {
    
    int i,j,t;
 for(i=0;i<n;i++)
   for(j=i+1;j<n;j++)//这样看来i=j的时候不用换所以 
   {
    
    t=b[i][j];
    b[i][j]=b[j][i];
    b[j][i]=t;
   }
 }
 void sum(int a[][3])
 {
    
    int i,j;
 for(i=0;i<n;i++)
 	for(j=0;j<n;j++)
 	{
    
    b[i][j]=b[i][j]+a[i][j];
	 }
 }
  

猜你喜欢

转载自blog.csdn.net/weixin_50925658/article/details/111083416
今日推荐