题目
本题是谭浩强《C程序设计课后习题》题7.4。
题目:
4、写一个函数,使给定的一个3X3的二维整型数组转置,即行列互换。
以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj
一、解题思路
思路:
矩阵的转置:即为行变列,列变行。再定义一个数组存放转置后的矩阵就行了。
二、代码部分
1.引入库
代码如下(示例):
#include<stdio.h>
2.主函数部分
代码如下(示例):
int i, j;
void transpose(int a[][3],int b[][3])
{
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
b[i][j] = a[j][i];
}
void main()
{
int a[3][3],b[3][3];
printf("请输入一个3*3的矩阵:\n");
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
scanf("%d", &a[i][j]);
transpose(a,b);
printf("转置后的矩阵为:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
printf("%d ", b[i][j]);
printf("\n");
}
}
三、执行结果
输入:
请输入一个3*3的矩阵:
1 2 3
4 5 6
7 8 9
输出:
转置后的矩阵为:
1 4 7
2 5 8
3 6 9