矩阵乘法运算,定义数组时的问题……
結果有問題,感覺是數組定義錯了,請問應該如何修正?程序代码:
#include<stdio.h> int main(void) { int a[100][100]={0}, b[100][100]={0}, c[100][100]={0}; int i, j, t, m1, m2, n1, n2; printf("請自定義第一個矩陣階數:\n"); scanf("%d%d",&m1,&n1); printf("請自定義第二個矩陣階數:\n"); scanf("%d%d",&m2,&n2); if(n1!=m2) { system("pause"); printf("無法求矩陣之積!\n"); return(1); } printf("輸入第一個矩陣:\n"); for(i=0;i<m1;i++) { for(j=0;j<n1;j++) { scanf("%d",&a[i][j]); } } printf("輸入第二個矩陣:\n"); for(i=0;i<m2;i++) { for(j=0;j<n2;j++) { scanf("%d",&b[i][j]); } } for(i=0;i<m1;i++) { for(j=0;j<n2;j++) { for(t=0;t<n1;t++) { c[i][j]+=a[i][t]*b[t][j]; } } } printf("矩陣之積:\n"); for(i=0;i<m1;i++) { for(j=0;j<n2;j++) { printf("%d ",&c[i][j]); } } return(0); }