c語言中實現4行3列矩陣和3行4列矩陣的運算

小鲨鱼2018發表於2024-10-28

001、

[root@PC1 test]# ls
test.c
[root@PC1 test]# cat test.c                             ## 測試c程式
#include <stdio.h>

int main(void)
{
        int i,j,k;
        int v1[4][3];
        int v2[3][4];
        int v3[4][4] = {{}, {}, {}, {}};                //4行3列矩陣與3行4列矩陣的乘積是4行4列的矩陣,將其所有元素初始化為0
        for(i = 0; i < 4; i++)
        {
                for(j = 0; j < 3; j++)
                {
                        printf("v1[%d][%d]:", i, j);
                        scanf("%d", &v1[i][j]);
                }
        }
        for(i = 0; i < 3; i++)
        {
                for(j = 0; j < 4; j++)
                {
                        printf("v2[%d][%d]:", i, j);
                        scanf("%d", &v2[i][j]);
                }
        }
        for(k = 0; k < 4; k++)                         // 按照矩陣運算規則進行賦值
        {
                for(i = 0; i < 4; i++)
                {
                        for(j = 0; j < 3; j++)
                        {
                                v3[k][i] += v1[k][j] * v2[j][i];
                        }
                }
        }
        puts("-------------------------------------------------");
        for(i = 0; i < 4; i++)
        {
                for(j = 0; j < 4; j++)
                {
                        printf("v3[%d][%d] = %d\t", i, j, v3[i][j]);
                }
                putchar('\n');
        }
        return 0;
}
[root@PC1 test]# gcc test.c -o kkk
[root@PC1 test]# ls
kkk  test.c
[root@PC1 test]# ./kkk
v1[0][0]:2
v1[0][1]:1
v1[0][2]:3
v1[1][0]:4
v1[1][1]:2
v1[1][2]:6
v1[2][0]:3
v1[2][1]:1
v1[2][2]:2
v1[3][0]:2
v1[3][1]:5
v1[3][2]:4
v2[0][0]:1
v2[0][1]:2
v2[0][2]:4
v2[0][3]:2
v2[1][0]:2
v2[1][1]:3
v2[1][2]:4
v2[1][3]:5
v2[2][0]:2
v2[2][1]:2
v2[2][2]:2
v2[2][3]:3
-------------------------------------------------
v3[0][0] = 10   v3[0][1] = 13   v3[0][2] = 18   v3[0][3] = 18
v3[1][0] = 20   v3[1][1] = 26   v3[1][2] = 36   v3[1][3] = 36
v3[2][0] = 9    v3[2][1] = 13   v3[2][2] = 20   v3[2][3] = 17
v3[3][0] = 20   v3[3][1] = 27   v3[3][2] = 36   v3[3][3] = 41

相關文章