?原地转置
对角线把数组分为两个三角形,对角线上数字不变,当j<I时互换位置。
int main()
{
int a[3][3] =
{
{1,2,3},
{4,5,6},
{7 ,8 ,9}
};
int t;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < i; j++)
{
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
printf("%-3d “, a[i][j]);
}
puts(” “);
}
}
?水平镜像
中间一列数字不变,把每一行倒序输出
int main()
{
int a[3][3] =
{
{ 1,2,3 },
{ 4,5,6 },
{ 7 ,8 ,9 }
};
int t;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3/2; j++)
{
t = a[i][j];
a[i][j] =
将一个三维数组原地转置,呈水平镜像与垂直镜像,顺时针旋转90度180度,逆时针旋转90度
最新推荐文章于 2021-05-21 05:40:00 发布