目录
示例:
如:矩阵1:
1 2 3
4 5 6
7 8 9
矩阵1转置后:
1 4 7
2 5 8
3 6 9
1.思路
题目说要3X3的矩阵,所以就设个3X3的数组p2,再设一个3X3的数组p1,然后使用函数传参,用指针数组接收,用循环让数组的p1(0,1)和p2(1,0)交换位置。
*(p1[ j ] + i)=*(p2[ i ] + j)
随着 i 和 j 的自增示例中的
2和4 ,3和7 ,6和8 会相应交换
下面看代码:
2.代码
#include<stdio.h>
void fun(int(*p1)[3], int(*p2)[3])
{
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
*(p1[j] + i) = *(p2[i] + j);
}
}
}
int main()
{
int i, j;
int p1[3][3] = { 0 };
int p2[3][3] = { 0 };
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &p2[i][j]);
}
}
fun(p1, p2);
printf("转至后的矩阵\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d ", *(p1[i] + j));
}
printf("\n");
}
return 0;
}
3.代码实现
今天的分享就到这里啦!~学会了记得点个赞哦~~感谢
我是Try_harder,正在磕磕绊绊中成长~~