用C语言将二维数组旋转90度
时间: 2024-11-25 21:16:42 浏览: 0
二维数组旋转.zip
在C语言中,旋转一个二维数组90度可以通过临时变量交换数组元素的方式来实现。假设我们有一个二维数组`arr[row][col]`,我们可以创建一个新的二维数组`rotated`来存储旋转后的结果。以下是步骤:
1. 定义新的二维数组`rotated[n][m]`,其中n是列数,m是行数。
2. 使用两层循环,外层遍历每一行,内层从当前行的最后一个元素开始逆序到第一个元素。
- 对于每个元素`arr[i][j]`,将其放入新位置`rotated[j][n-i-1]`。
下面是伪代码表示:
```c
for (int i = 0; i < n; i++) {
for (int j = n - 1; j >= i; j--) {
int temp = arr[i][j]; // 保存原元素
arr[i][j] = rotated[j][i]; // 将原元素放新位置
rotated[j][i] = temp; // 将temp放到原位置
}
}
```
请注意,这个过程会改变原数组`arr`,如果你想要保留原始数组,可以在操作前先复制一份。
阅读全文