C语言题目:输入两个矩阵,a[m][n]和b[n][p];求他们的乘积描述:输入两个个矩阵的行 列 m n;并输入其数值如:输入3 2 1 2 3 4 5 6 2 3 1 2 3 4 5 6输出:9 12 15 19 26 3329 40 51我写的是这样的,但错了,哪位
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 09:54:24
C语言题目:输入两个矩阵,a[m][n]和b[n][p];求他们的乘积描述:输入两个个矩阵的行 列 m n;并输入其数值如:输入3 2 1 2 3 4 5 6 2 3 1 2 3 4 5 6输出:9 12 15 19 26 3329 40 51我写的是这样的,但错了,哪位
C语言题目:输入两个矩阵,a[m][n]和b[n][p];求他们的乘积
描述:输入两个个矩阵的行 列 m n;并输入其数值
如:输入
3
2
1 2
3 4
5 6
2
3
1 2 3
4 5 6
输出:
9 12 15
19 26 33
29 40 51
我写的是这样的,但错了,哪位大神帮我看看?
#include
void main()
{
double a[100][100],b[100][100],h[100][100];
int m,n,p,q,i,j,k,l,c,d;
scanf("%d %d",&m,&n);//输入行数和列数
for(i=0;i
C语言题目:输入两个矩阵,a[m][n]和b[n][p];求他们的乘积描述:输入两个个矩阵的行 列 m n;并输入其数值如:输入3 2 1 2 3 4 5 6 2 3 1 2 3 4 5 6输出:9 12 15 19 26 3329 40 51我写的是这样的,但错了,哪位
#include<stdio.h>
int main()
{
double a[100][100],b[100][100],h[100][100];
int m,n,p,q,i,j,k,l,c,d;
scanf("%d %d",&m,&n);//输入行数和列数
for(i=0; i<m; i++)
{
for(j=0; j<n; j++)
{
scanf("%lf",&a[i][j]);//输入第一个矩阵
}
}
scanf("%d %d",&p,&q);//输入行数和列数
for(l=0; l<p; l++)
{
for(k=0; k<q; k++)
{
scanf("%lf",&b[l][k]);//输入第二个矩阵
}
}
for(c=0; c<m; c++) //行数小于等于第一个矩阵的行数
{
for(d=0; d<q; d++) //列数小于等于第二个矩阵的列数
{
int sum = 0;
for(k=0; k<n; k++) //第一个矩阵行数和第二个矩阵列数
{
sum +=a[c][k]*b[k][d];//计算
}
h[c][d] = sum;
}
}
for(c=0; c<m; c++)
{
for(d=0; d<q; d++)
{
printf("%.0f ",h[c][d]);//输出
}
printf("\n");
}
return 0;
}
两处错,输入第二个矩阵要用b
然后回去好好翻翻矩阵运算的公式,照着公式算.
然后按楼上说的,每个都括起来,没坏处