C代码和python代码:用二维数组实现矩阵的转置

一、总结

输入用了 int(input()) ,但发现这种方法好像有点不方便
每次输入一个数字都要按回车,按空格不能识别
下次找找看看有没有其他输入方法

Python中没有数组,但列表类似数组
通过叠加[ ],就可以通过列表创建二维数组
Python中创建二维数组的方法(以本案例为例)

  1. matrixA=[[0 for i in range(4)] for i in range(3)]
  2. matrixA=[ [ 0, 0, 0, 0], [ 0, 0, 0, 0], [ 0, 0, 0, 0]]

二、C代码

运行环境:VS2017
以下是代码:

/* 用二维数组实现矩阵的转置 */
#include <stdio.h>
#define ROW 3
#define COL 4
int main()
{
	int matrixA[ROW][COL],matrixB[COL][ROW];
	int i,j;

	printf("Enter elements of the matrixA,");
	printf("%d*%d:\n",ROW,COL);
	for( i=0; i<ROW; i++ )
		for( j=0; j<COL; j++ )
			scanf_s("%d", &matrixA[i][j]);

	for( i=0; i<ROW; i++ )
		for( j=0; j<COL; j++ )
			matrixB[j][i] = matrixA[i][j];

	printf("MatrixB,");
	printf("%d*%d:\n",COL,ROW);
	for (i = 0; i < COL; i++)
	{
		for (j = 0; j < ROW; j++)
			printf("%8d", matrixB[i][j]);
		printf("\n");
	}

	printf("\n  Press Any Key to Quit...  \n");
	getchar();
	getchar();
	return 0;
}

三、Python代码

运行环境:Pycharm,python3.74
以下是代码:

#用二维数组实现矩阵的转置
global ROW,COL
ROW=3
COL=4

def main():
	matrixA=[[0 for i in range(COL)] for i in range(ROW)]
	matrixB=[[0 for i in range(ROW)] for i in range(COL)]

	print("Enter elements of the matrixA,",ROW,COL)
	for i in range(0, ROW):
		for j in range(0, COL):
			matrixA[i][j]=int(input())

	for i in range(0, ROW):
		for j in range(0, COL):
			matrixB[j][i] = matrixA[i][j]

	print("MatrixB,", COL, ROW)
	for i in range(0, COL):
		for j in range(0, ROW):
			print(matrixB[i][j],end="  ")
		print("")
	print("Press Any Key to Quit...")

main()

posted @ 2020-02-20 22:46  金木水火玉  阅读(533)  评论(0)    收藏  举报