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/05/02 03:40:34
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 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
然后回去好好翻翻矩阵运算的公式,照着公式算.
然后按楼上说的,每个都括起来,没坏处