输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.c语言

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/13 08:17:26
输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.c语言
xWkOP+ٲ\ӮkF/p1-;킗QE,j4$/Aq@ǘmӖf>}^VUK?Ϸ4rt;xwqu;3tv6{Z`yv>uh6ZLjb(p2抗:P)+IM 1YE˖$m:cKK{fk?ٝmL}9W3dd@ y+1"&UjJÈn M>-춌`iTM%-;?p9۽*  p5xDlLjE:BP : ߏa޿&dB/'}nj(nHPDk%♙6aU}Xѻ#^=J\^MU8NpY)2QбruZ+D*"ϳ}1\׳z>St*LWV q?fL)1)G:/9ڱ&q9ZQ ['[ރc‡c1=' m`}ݠݙ*-ٚ t+:XCU?-1?$nr=JAGKH"45-S-4kK=LTض1KQ֭"A=`r%h:y,BZ @ WXq`@ Ly$C|X

输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.c语言
输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.
c语言

输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.c语言
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int row1=0,row2=0,cow1=0,cow2=0;
    int i=0,j=0,k=0,temp=0;
    int array1[20][20],array2[20][20],array[20][20];
    printf("请输入第一个矩阵的行数和列数\n");
    scanf("%d %d",&row1,&cow1);
    printf("请输入%d行 %d列矩阵\n",row1,cow1);
    for(i=0;i<row1;i++)
        for(j=0;j<cow1;j++)
            scanf("%d",&array1[i][j]);
    printf("请输入第二个矩阵的行数和列数\n");
    scanf("%d %d",&row2,&cow2);
    printf("请输入%d行 %d列矩阵\n",row2,cow2);
    if(cow1!=row2)
    {
        printf("矩阵不能相乘\n");
        exit(0);
    }
    for(i=0;i<row2;i++)
        for(j=0;j<cow2;j++)
            scanf("%d",&array2[i][j]);
    for(i=0;i<row1;i++)
    {
        for(j=0;j<cow2;j++)
        {
            temp=0;
            for(k=0;k<cow1;k++)
            temp=temp+array1[i][k]*array2[k][j];
            array[i][j]=temp;
        }
    }
    printf("2个矩阵相乘的结果是:\n");
    printf("行:%d 列:%d\n",row1,cow2);
    for(i=0;i<row1;i++)
    {
        for(j=0;j<cow2;j++)
        printf("%-6d",array[i][j]);
        printf("\n");
    }
    return 0;
}