作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 06:21:55
输入两个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;
}