矩阵乘法c语言输入之后怎么就输出不了了呢? 求大佬改正。

矩阵乘法c语言输入之后怎么就输出不了了呢?
求大佬改正。#include<stdio.h>
int main()
{
int m,n,p,q,i,j,k,a,b;
int A[100][100],B[100][100],C[100][100];
scanf("%d %d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&A[i][j]);
}
}
scanf("%d %d",&p,&q);
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
scanf("%d",&B[i][j]);
}
}
for(a=0;a<m;a++)
{
for(a=0;b<q;b++)
{
for(k=0;k<n;k++)
{
C[a][b]+=A[a][k]*B[k][b];
}
}
}
for(a=0;a<m;a++)
{
for(b=0;b<q;b++)
printf("%d",C[a][b]);
printf("\n");
}
return 0;
}

#include<stdio.h> #include<stdlib.h> #define RA 5 /*矩阵A的行数*/ #define CA 5 /*矩阵A的列数*/ #define RB 5 /*矩阵B的行数*/ #define CB 5 /*矩阵B的列数*/ main() { int A[RA][CA]; int B[RB][CB]; int C[RA][CB]; int i,j,k; printf("1"); /*随机生成矩阵A*/ randomize(); for(i=0;i<RA;i++) { for(j=0;j<CA;j++) A[i][j]=random(20); } /*随机生成矩阵B*/ randomize(); for(i=0;i<RB;i++) { for(j=0;j<CB;j++) B[i][j]=random(20); } /*输出矩阵A*/ printf("\nMatrix A"); for(i=0;i<RA;i++){ printf("\n"); for(j=0;j<CA;j++) printf("%4d",A[i][j]); printf("\n"); } /*输出矩阵B*/ printf("\nMatrix B"); for(i=0;i<RB;i++){ printf("\n"); for(j=0;j<CB;j++) printf("%4d",B[i][j]); printf("\n"); } /*两个矩阵相乘*/ for(i=0;i<=RA;i++) for(j=0;j<CB;j++) { C[i][j]=0; for(k=0;k<RA;k++) C[i][j]+=A[i][k]*B[k][j]; } /*输出结果矩阵*/ printf("\nMatrix A*B\n"); for(i=0;i<RA;i++){ printf("\n"); for(j=0;j<CB;j++) printf("%4d",C[i][j]); printf("\n"); } getch(); } 你也可以把随机生成矩阵改成你往矩阵里输数追问

请帮忙看一下我的代码里哪里错了呢?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答