c语言 三维数组旋转90度
时间: 2023-09-14 08:02:33 浏览: 83
可以通过以下步骤来旋转一个三维数组90度:
1. 定义一个新的三维数组,其维度与原数组旋转后的维度相同。
2. 使用三重循环,遍历原数组,将每个元素旋转并存储到新数组中。
3. 返回新数组。
以下是一个示例代码:
```c
#include <stdio.h>
void rotate(int arr[][3][3], int size) {
int new_arr[size][size][size];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
for (int k = 0; k < size; k++) {
new_arr[k][j][size-i-1] = arr[i][j][k];
}
}
}
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
for (int k = 0; k < size; k++) {
arr[i][j][k] = new_arr[i][j][k];
}
}
}
}
int main() {
int arr[3][3][3] = {
{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}},
{{10, 11, 12}, {13, 14, 15}, {16, 17, 18}},
{{19, 20, 21}, {22, 23, 24}, {25, 26, 27}}
};
rotate(arr, 3);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
printf("%d ", arr[i][j][k]);
}
printf("\n");
}
printf("\n");
}
return 0;
}
```
这个程序定义了一个3x3x3的三维数组,然后将其旋转90度,并输出结果。对于更大的数组,只需要更改数组的维度即可。
阅读全文