c语言pat基础题改错0811L1048

img

img

img


我的代码出现问题,本题希望可以得到大家的指导,谢谢你的帮助!

供参考:

#include<stdio.h> 
#define N 202
int main()
{
    int Ra, Ca, Rb, Cb, A[N][N], B[N][N];
    int i, j, k, sum;
    scanf("%d%d", &Ra, &Ca);
    for (i = 0; i < Ra; i++) {
        for (j = 0; j < Ca; j++)
            scanf("%d", &A[i][j]);
    }
    scanf("%d%d", &Rb, &Cb);
    for (i = 0; i < Rb; i++)
    {
        for (j = 0; j < Cb; j++)
            scanf("%d", &B[i][j]);
    }
    if (Ca != Rb) {
        printf("Error: %d != %d", Ca, Rb);
    }
    else {
        printf("%d %d\n", Ra, Cb);
        for (i = 0; i < Ra; i++) {
            for (j = 0; j < Cb; j++) {
                for (k = 0, sum = 0; k < Ca; k++) {
                    sum += A[i][k] * B[k][j];
                }
                printf(j ? " %d" : "%d", sum);
            }
            if (i < Ra - 1)  printf("\n");
        }
    }
    return 0;
}

【以下回答由 GPT 生成】

你提供的代码是经过Markdown格式化的,无法看出具体的代码逻辑和问题。请将你的代码以文本形式重新提供,这样我才能为你提供帮助。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
#include <stdio.h>
int arr1[100][100] = { 0 };
int arr2[100][100] = { 0 };
int arr3[100][100] = { 0 };
int main()
{
    int ra = 0, ca = 0, rb = 0, cb = 0;
    scanf("%d%d", &ra, &ca);
    int i = 0, k = 0;
    for (i = 0; i < ra; i++)
    {
        for (k = 0; k < ca; k++)
        {
            scanf("%d", &arr1[i][k]);
        }
    }
    scanf("%d%d", &rb, &cb); double count = 0;
    if (ca != rb)
    {
        printf("Error : Ca != Rb");
        return 0;
    }
    else
    {
        for (i = 0; i < rb; i++)
        {
            for (k = 0; k < cb; k++)
            {
                scanf("%d", &arr2[i][k]);
            }
        }
        int  b = 0;
        for (i = 0; i < ra; i++)
        {
            for (b = 0; b < cb; b++)
            {
                for (k = 0; k < cb; k++)
                {
                    arr3[i][b] = arr1[i][k] * arr2[k][b];
                }
            }
        }
        printf("%d %d", i, k);
        for (i = 0; i < ra; i++)
        {
            for (k = 0; k < cb; k++)
            {
                printf("%d", arr3[i][k]);
            }
        }
    }
}