数组的基本操作

一.矩阵的转置

#include <stdio.h> int main(){ int i,j; int a[3][3],b[3][3]; for(i=0;i<3;i++){ for(j=0;j<3;j++){ scanf("%d",&a[i][j]); } } printf("原始矩阵A为:\n"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%d ",a[i][j]); } printf("\n"); } for(i=0;i<3;i++){ for(j=0;j<3;j++){ b[j][i]=a[i][j]; } } printf("变换后的矩阵为:\n"); for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%d\t",b[i][j]); } printf("\n"); } return 0; }

 二.矩阵的运算

#include <stdio.h>
   void add(int a[3][3],int b[3][3],int C1[3][3]){
   int i,j; 
     for(i=0;i<3;i++){ 
      for(j=0;j<3;j++){
      C1[i][j]=a[i][j]+b[i][j]; 
      }
    }
     for(i=0;i<3;i++){
      for(j=0;j<3;j++){
       printf("%d\t",C1[i][j]); 
      }
      printf("\n"); 
    } 
    }
   
   void sub(int a[3][3],int b[3][3],int C2[3][3]){
   int i,j;
     for(i=0;i<3;i++){
      for(j=0;j<3;j++){
       C2[i][j]=b[i][j]-a[i][j];
      }
  }
      for(i=0;i<3;i++){
       for(j=0;j<3;j++){
      printf("%d\t",C2[i][j]); 
      }
      printf("\n"); 
     }  
     } 
     
   void cheng(int a[3][3],int b[3][3],int C3[3][3]){
       int c,k,i,j;
        for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            C3[i][j]=0; 
        } 
    }
     printf("乘法结果是:\n");  
        for(i=0;i<3;i++){
      for(j=0;j<3;j++){
           for(k=0;k<3;k++){
                C3[i][j]=C3[i][j]+a[i][k]*b[k][j]; 
            } 
        } 
    }
    for(i=0;i<3;i++){
        for(j=0;j<3;j++){
            printf("%d\t ",C3[i][j]); 
        } 
        printf("\n"); 
    } 
    } 

 int main(){
     int  i,j; 
   int a[3][3],b[3][3];
   int C1[3][3],C2[3][3]; 
   int C3[3][3];
    printf("请输入3*3的矩阵:\n");
   printf("矩阵A为:\n");
     for(i=0;i<3;i++){ 
      for(j=0;j<3;j++){
       scanf("%d",&a[i][j]);
      }
    }
    printf("\n");  
    printf("矩阵B为:\n");
    for(i=0;i<3;i++){ 
      for(j=0;j<3;j++){
       scanf("%d",&b[i][j]);
      }
    }
      printf("A的数组为:\n");
     for(i=0;i<3;i++){
       for(j=0;j<3;j++){
       printf("%d\t",a[i][j]);
       }
       printf("\n");
    }
      printf("B的数组为:\n");
     for(i=0;i<3;i++){
       for(j=0;j<3;j++){
       printf("%d\t",b[i][j]);
    }     
        printf("\n");
       }
     add( a, b, C1);printf("\n");
     sub( a, b, C2);printf("\n");
     cheng( a, b, C3);
    return 0;
 }

 

posted on 2019-05-10 18:34  孙泽玺  阅读(320)  评论(0编辑  收藏  举报

导航