⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matrixmul.c

📁 提供大量C代码来实现不同功能
💻 C
字号:

#include "stdio.h"

void MatrixMul(a,b,m,n,k,c)  /*实矩阵相乘*/
int m,n,k; /*m:矩阵A的行数, n:矩阵B的行数, k:矩阵B的列数*/
double a[],b[],c[]; /*a为A矩阵, b为B矩阵, c为结果,即c = AB */
{ 
	int i,j,l,u;
	/*逐行逐列计算乘积*/
	for (i=0; i<=m-1; i++)
		for (j=0; j<=k-1; j++)
		{
			u=i*k+j; c[u]=0.0;
			for (l=0; l<=n-1; l++)
				c[u]=c[u]+a[i*n+l]*b[l*k+j];
		}
	return;
}


main()
{ 
	int i,j;
	/*声明矩阵A, B, C 并为A,B赋初值*/
	static double a[4][5]={ {1.0,3.0,-2.0,0.0,4.0},
							{-2.0,-1.0,5.0,-7.0,2.0},
							{0.0,8.0,4.0,1.0,-5.0},
							{3.0,-3.0,2.0,-4.0,1.0}};
	static double c[4][3],b[5][3]={ {4.0,5.0,-1.0},
									{2.0,-2.0,6.0},
									{7.0,8.0,1.0},
									{0.0,3.0,-5.0},
									{9.0,8.0,-6.0}};
	MatrixMul(a,b,4,5,3,c); /*计算C的结果*/
	/*格式化输出结果*/
	printf("\n");
	for (i=0; i<=3; i++)
	{ 
		for (j=0; j<=2; j++)
			printf("%13.7f\t",c[i][j]);
		printf("\n");
	}
	printf("\n");
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -