c程序:用指针方法写一函数,将一个3×3的整型矩阵转置

用指针方法写一函数,将一个3×3的整型矩阵转置

#include
void Transposition(int (*p)[3])
{
	int t;
	for (int i = 0; i < 3; ++i)
	{
		for (int j = 0; j < i; ++j)
		{
			t = *(*(p+i) + j);
			*(*(p + i) + j) = *(*(p + j) + i);
			*(*(p + j) + i) = t;
		}
	}

}
void main()
{
	int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
	for (int i = 0; i < 3; ++i)//原矩阵输出
	{
		for (int j = 0; j < 3; ++j)
		{
			printf("%3d", a[i][j]);
		}
		puts("");
	}
	puts("************************");
	Transposition(a);
	for (int i = 0; i < 3; ++i)//转置输出
	{
		for (int j = 0; j < 3; ++j)
		{
			printf("%3d", a[i][j]);
		}
		puts("");
	}
}

运行结果:
c程序:用指针方法写一函数,将一个3×3的整型矩阵转置_第1张图片

你可能感兴趣的:(c程序:用指针方法写一函数,将一个3×3的整型矩阵转置)