1 //两个二维数组相乘 2 #include<stdio.h> 3 #include<stdlib.h> 4 #define M 2 5 #define N 3 6 //#define P 6 7 void main() 8 { 9 int i,j,k; 10 //二维数组A和B求乘积,积放在数组C中 11 int A[M][N],B[N][M],C[M][M]; 12 //输入二维数组A的元素的值 13 printf("请输入矩阵A的元素:"); 14 for(i=0;i<M;i++) 15 { 16 for(j=0;j<N;j++) 17 { 18 scanf("%d",&A[i][j]); 19 } 20 } 21 printf("\n"); 22 //打印二维数组A的元素 23 printf("矩阵A如下:\n"); 24 for(i=0;i<M;i++) 25 { 26 for(j=0;j<N;j++) 27 { 28 printf("%3d",A[i][j]); 29 } 30 printf("\n"); 31 } 32 printf("\n"); 33 //输入二维数组B的元素的值 34 printf("请输入矩阵B的元素:"); 35 for(i=0;i<N;i++) 36 { 37 for(j=0;j<M;j++) 38 { 39 scanf("%d",&B[i][j]); 40 } 41 } 42 printf("\n"); 43 //打印二维数组B的元素 44 printf("矩阵B如下:\n"); 45 for(i=0;i<N;i++) 46 { 47 for(j=0;j<M;j++) 48 { 49 printf("%3d",B[i][j]); 50 } 51 printf("\n"); 52 } 53 //数组相乘 54 printf("\n矩阵A乘以矩阵B结果为:\n"); 55 for(i=0;i<M;i++) 56 { 57 for(j=0;j<M;j++) 58 { 59 C[i][j] = 0; 60 for(k=0;k<N;k++) 61 C[i][j] = C[i][j]+A[i][k]*B[k][j]; 62 } 63 } 64 printf("\n"); 65 //数组C中的值分行显示 66 for(i=0;i<M;i++) 67 { 68 for(j=0;j<M;j++) 69 { 70 printf("%3d",C[i][j]); 71 } 72 printf("\n"); 73 } 74 system("pause"); 75 }
时间: 2024-11-08 22:06:57