1.解题思路:
3x3矩阵,一行一行换,需要换三次,先从第一行跟第一列换,再从第二行跟第二列换,依次类推;注意需要用指针的方式换;
2.程序:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int arr[3][3];
int i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &arr[i][j]);
}
}
void arrT(int* p);
arrT(arr);
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d\t" , arr[i][j]);
}
printf("\n");
}
return 0;
}
void arrT(int* p)
{
int temp;
int i, j;
for (i = 0; i < 3; i++)
{
for (j = i; j < 3; j++)
{
temp = *(p + 3 * i + j);
*(p + 3 * i + j) = *(p + i + 3 * j);
*(p + i + 3 * j) = temp;
}
}
}