题解 | #矩阵乘法#

矩阵乘法

https://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b

//矩阵循环输入,乘法为m3[i][j] += m1[i][k] * m2[k][j];这里注意m3[i][j]不要写在循环里,会产生堆栈溢出。
#include <stdio.h>

int main() {
    int x, y, z, k;
    scanf("%d %d %d", &x, &y, &z);
    int m1[x][y], m2[y][z], m3[x][z];//为什么不能初始化为{0}
    int temp=0;
    
    for(int i =0;i<x;i++)
        {
            for(int j =0;j<y;j++)
            {
                scanf("%d",&m1[i][j]);
            }
        }
    for(int i =0;i<y;i++)
    {
        for(int j =0;j<z;j++)
        {
            scanf("%d",&m2[i][j]);
        }
    }
    for(int i = 0; i<x; i++)
    {
        for(int j = 0; j<z; j++)
        {
            for(int k = 0; k<y; k++)
            {
                 temp += m1[i][k] * m2[k][j]; //这里直接写m3[i][j]会出现堆栈溢出
            }
            m3[i][j] = temp;
            temp = 0;
        }
    }

    for(int i = 0; i<x; i++)
    {
        for(int j = 0; j<z; j++)
        {
            printf("%d ", m3[i][j]);
        }
        printf("\n");
    }
    
    return 0;
}

全部评论

相关推荐

11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
挣K存W养DOG:他真的很中意你,为什么不回他
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务