解题思路:可以定义两个数组:数组a为m行n列,存放指定的m*n个数。数组b为n行m列,开始时未赋值。只要将a数组中的元素a[i][j]存放到b数组中的 b[j][i]元素中即可。用嵌套的for循环即可完成此任务。
具体代码如下:
#includeint main() { int m = 0,n = 0; printf("请您分别输入几行几列?n"); scanf("%d%d",&m,&n); int ar[m][n]; int br[n][m]; printf("请您填充该二维数组的元素:n"); for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { scanf("%d",&ar[i][j]); } } printf("原始二维数组表示为:n"); for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { printf("%d ",ar[i][j]); br[j][i] = ar[i][j]; } printf("n"); } printf("经过调换后的二维数组表示为:n"); for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { printf("%d ",br[i][j]); } printf("n"); } return 0; }
结果展示如下:
请您分别输入几行几列? 2 3 请您填充该二维数组的元素: 1 2 3 4 5 6 原始二维数组表示为: 1 2 3 4 5 6 经过调换后的二维数组表示为: 1 4 2 5 3 6
请您分别输入几行几列? 3 5 请您填充该二维数组的元素: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 原始二维数组表示为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 经过调换后的二维数组表示为: 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15



