C语言实现矩阵乘法的简单方法

这个方法里我只用了非常基础的程序,保证学过一周C语言的新人运行一遍都看得明白。

#include 

int main()
{
	int n,m,t,i,j,k;
	int a[10][10];
	int b[10][10];
	int c[10][10];
	
	for(i=0;i<10;i++)
		for(j=0;j<10;j++){
			a[i][j]=0;
		}
	
	for(i=0;i<10;i++)
		for(j=0;j<10;j++){
			b[i][j]=0;
		}
		
	for(i=0;i<10;i++)
		for(j=0;j<10;j++){
			c[i][j]=0;
		}
		
	printf("请输入矩阵a行列及对应元素:\n");
    scanf("%d%d", &n, &m);
    for(i = 0; i < n; i++)
    	for(j = 0; j < m; j++){ 
            scanf("%d", &a[i][j]);
    		} 		
	        
    printf("请输入矩阵b行列及对应元素:\n");
    scanf("%d%d", &m, &t);
    for(i = 0; i < m; i++)
        for(j = 0; j < t; j++)
            scanf("%d", &b[i][j]);
            
        	
    for(i = 0; i < n; i++){ 
        for(j = 0; j < t; j++){
        	int sum=0;
        	for(k= 0 ;k < m; k++)
        		sum+=a[i][k]*b[k][j];
			c[i][j]=sum;			
		} 
	}	 

	printf("a矩阵:");	
	for(i = 0; i < n; i++){
		printf("\n");
		for(j = 0; j < m; j++){
			printf("%d  ",a[i][j]);
		}
	}	
	printf("\n");
	printf("b矩阵:");	
	for(i = 0; i < m; i++){
		printf("\n");
		for(j = 0; j < t; j++){
			printf("%d  ",b[i][j]);
		}
	}
	printf("\n");
	printf("结果矩阵:");				
	for(i = 0; i < n; i++){
		printf("\n");
		for(j = 0; j < t; j++){
			printf("%d  ",c[i][j]);
		}
	}
	
	getch();
	return 0;
 } 

运行结果:
C语言实现矩阵乘法的简单方法_第1张图片

你可能感兴趣的