矩阵相乘以及转置

#include<stdio.h>
#include<stdlib.h>
int main(){
	int a[3][3],b[3][3],c[3][3];
	int i,j,k;
	printf("please input a:");
	for(i=0;i<3;i++){
		for(j=0;j<3;j++){
			scanf_s("%d",&a[i][j]);
		}
	}
	printf("It is a:\n");
		for(i=0;i<3;i++){
			for(j=0;j<3;j++){
				printf(" %3d",a[i][j]);
				if(j==2)
					printf("\n");
			}
		}
		for(j=0;j<3;j++){
			for(i=0;i<3;i++){
				b[j][i]=a[i][j];
			}
		}
		printf("\nIt is a<->b:\n");
		for(i=0;i<3;i++){
			for(j=0;j<3;j++){
				printf(" %3d",b[i][j]);
				if(j==2)
					printf("\n");
			}
		}
		for(i=0;i<3;i++){
			for(j=0;j<3;j++){
				c[i][j]=0;
				for(k=1;k<3;k++){
					c[i][j]+=a[i][k]*b[k][j];
				}
			}
		}
		printf("\nIt is a*b->c:\n");
		for(i=0;i<3;i++){
			for(j=0;j<3;j++){
				printf(" %3d",c[i][j]);
				if(j==2)
					printf("\n");
			}
		}
		system("pause");
		return 0;
}

版权声明:本文为lj15847090684原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。