用C写一个矩阵顺时针旋转90度输出的代码
时间: 2024-06-12 22:05:20 浏览: 13
以下是用C语言编写的矩阵顺时针旋转90度输出的代码:
```
#include <stdio.h>
#define N 3 // 矩阵维数
void rotate(int matrix[][N]) {
// 先对角线翻转
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
int tmp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = tmp;
}
}
// 再左右翻转
for (int i = 0; i < N; i++) {
for (int j = 0; j < N / 2; j++) {
int tmp = matrix[i][j];
matrix[i][j] = matrix[i][N - 1 - j];
matrix[i][N - 1 - j] = tmp;
}
}
}
int main() {
int matrix[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
printf("原矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
rotate(matrix);
printf("旋转后矩阵:\n");
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
解释:
此代码中的 `rotate()` 函数实现了矩阵的顺时针旋转90度操作,它先对矩阵进行对角线翻转,再进行左右翻转,最终得到旋转后的矩阵。
在 `main()` 函数中,我们首先定义了一个 3x3 的矩阵,并输出原矩阵。然后调用 `rotate()` 函数对矩阵进行旋转,并输出旋转后的矩阵。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)