求两个4*4阶矩阵乘法C=A*B的算法。

如题所述

lz  你好


以下用c语言实现:

#include<stdio.h>
#define N 4//矩阵的阶数

//4*4的矩阵相乘的算法
void arrayMulti(int a[][N], int b[][N], int c[][N])
{
int i,j,k;

for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
c[i][j] = 0;
}
}

    for (k = 0; k < N; k++) {
        for(i = 0; i < N; i++){
            for (j = 0; j < N; j++) {
                c[i][k] += a[i][j] * b[j][k];
            }
        }
    }
}

//输入
void input(int x[][N])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",&x[i][j]);
}
}
}

//输出
void output(int x[][N])
{
int i,j;

for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%-4d",x[i][j]);
}
printf("\n");
}
}

int main()
{
int a[N][N],b[N][N],c[N][N];

printf("Enter two 4*4 arrays\nFirst one:\n");
input(a);

printf("Second one:\n");
input(b);

arrayMulti(a,b,c);

printf("Arrays' multi:\n");
output(c);

return 0;
}


运行结果:



希望能帮助你哈

温馨提示:答案为网友推荐,仅供参考