一.矩阵的转置
#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; }
原文:https://www.cnblogs.com/Maxsh/p/10840098.html