標籤:c語言 矩陣
並不是很難的問題,但是自己思考測試獨立完成的,儲存於此,給自己一點鼓勵。
/*Author:SwordAutumn2015年 04月 08日 星期三 15:35:00 CST*/#include <stdio.h>//const int N=3;//const int M=2;#define N 5#define M 5int main(int argc, char const *argv[]){ int i,j,k; int a[N][M]; int b[M][N]; printf("Input A[%d][%d]=\n",N,M); for(i=0;i<N;i++){ for(j=0;j<M;j++){ scanf("%d",&a[i][j]); } } printf("Input B[%d][%d]=\n",M,N); for(i=0;i<M;i++){ for(j=0;j<N;j++){ scanf("%d",&b[i][j]); } } int c[N][N],d[M][M]; printf("A:\n"); for(i=0;i<N;i++){ for(j=0;j<M;j++) printf("%d\t",a[i][j]); printf("\n"); } printf("B:\n"); for(i=0;i<M;i++){ for(j=0;j<N;j++) printf("%d\t",b[i][j]); printf("\n"); } if(N==M){ printf("A+B=B+A:\n"); for(i=0;i<N;i++){ for(j=0;j<M;j++) printf("%d\t",a[i][j]+b[i][j]); printf("\n"); } } printf("AxB:\n"); int sum; for(i=0;i<N;i++){ for(j=0;j<N;j++){ sum=0; for(k=0;k<M;k++){ // printf("%d,%d\t",a[i][k],b[k][j]); sum += a[i][k]*b[k][j]; } // printf("%d\n",sum); c[i][j]=sum; } } for(i=0;i<N;i++){ for(j=0;j<N;j++) printf("%d\t",c[i][j]); printf("\n"); } printf("BxA:\n"); for(i=0;i<M;i++){ for(j=0;j<M;j++){ sum=0; for(k=0;k<N;k++){ // printf("%d,%d\t",a[i][k],b[k][j]); sum += b[i][k]*a[k][j]; } // printf("\n"); d[i][j]=sum; } } for(i=0;i<M;i++){ for(j=0;j<M;j++) printf("%d\t",d[i][j]); printf("\n"); } printf("\n"); return 0;}
C語言矩陣加法乘法