杜坏坏 2021-12-13 15:05 采纳率: 50%
浏览 78
已结题

判断两个矩阵是否满足相乘条件,如果满足实行乘运算

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊不会呀

  • 写回答

4条回答 默认 最新

  • 关注

    矩阵A和矩阵B相乘的条件是A的列数等于B的行数。
    假设A是m*n的矩阵,B是n*k的矩阵,结果就是m*k的矩阵
    假设矩阵的行数和列数都小于10,代码如下:

    #include <stdio.h>
    int main()
    {
        int a[10][10],b[10][10],c[10][10];
        int i,j,sum=0;
        int m,n,k,t;
        int x,y;
        printf("请输入矩阵A的行数和列数:");
        scanf("%d%d",&m,&n);
        printf("请输入矩阵A的数值:\n");
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
                scanf("%d",&a[i][j]);
        }
        printf("请输入矩阵B的行数和列数:");
        scanf("%d%d",&k,&t);
        printf("请输入矩阵A的数值:\n");
        for(i=0;i<k;i++)
        {
            for(j=0;j<t;j++)
                scanf("%d",&b[i][j]);
        }
    
        if(n != k)
        {
            printf("矩阵A和矩阵B不能相乘\n");
            return 0;
        }else
        {
            for (i=0;i<m;i++)
            {
                for (j=0;j<t;j++)
                {
                    c[i][j]=0;
                    //a的第i行与b的第j列相乘
                    for(x=0;x<k;x++)
                        c[i][j] += a[i][x] * b[x][j];
                    //输出
                    printf("%d ",c[i][j]);
                }
                printf("\n");
            }
        }
    
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月13日