矩陣相乘

題目:矩陣相乘
程式碼:

#include <stdio.h>
#include <stdlib.h>
int main(void){
 int m,n,n1,t;
 printf("請輸入二維陣列大小\n");
 scanf("%d%d",&m,&n);
 int arr[m][n];
 printf("請輸入二維陣列值\n");
 int i,j;
 for(i=0;i<m;i++){
  for(j=0;j<n;j++){
   scanf("%d",&arr[i][j]);
  }
  printf("\n");
 }
 printf("請輸入第二個二維陣列大小\n");
 scanf("%d%d",&n1,&t);
 int arr1[n1][t];
 if(n!=n1){//一定要成立
  printf("n值給錯");
 }
 printf("請輸入第二個二維陣列值\n");
 int k,l;
 for(k=0;k<n1;k++){
  for(l=0;l<t;l++){
   scanf("%d",&arr1[k][l]);
  }
  printf("\n");
 }
 int a,b,c;
 int arr2[m][t];
 for(a=0;a<m;a++){
  for(b=0;b<t;b++){
   arr2[a][b]=0;
   for(c=0;c<n;c++){
    arr2[a][b]=arr2[a][b]+arr[a][c]*arr1[c][b];
   }
   printf("%-2d ", arr2[a][b]);
  }
  printf("\n");
 }
 
}

執行結果:

留言

熱門文章