二维数组旋转90度c语言
时间: 2023-12-02 18:40:40 浏览: 47
以下是C语言中二维数组顺时针旋转90度的代码实现:
```c
#include <stdio.h>
#define N 3
void rotate(int a[][N]) {
int b[N][N];
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
b[i][j] = a[N - j - 1][i];
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
a[i][j] = b[i][j];
}
}
}
int main() {
int a[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
printf("Before rotation:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
rotate(a);
printf("After rotation:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
运行结果如下:
```
Before rotation:
1 2 3
4 5 6
7 8 9
After rotation:
7 4 1
8 5 2
9 6 3
```