用c写一个矩阵顺时针旋转输出的代码
时间: 2024-06-12 19:05:27 浏览: 136
以下是用C语言编写的矩阵顺时针旋转输出的代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void rotate(int matrix[ROWS][COLS]) {
int temp;
for (int i = 0; i < ROWS / 2; i++) {
for (int j = i; j < COLS - i - 1; j++) {
temp = matrix[i][j];
matrix[i][j] = matrix[ROWS - j - 1][i];
matrix[ROWS - j - 1][i] = matrix[ROWS - i - 1][COLS - j - 1];
matrix[ROWS - i - 1][COLS - j - 1] = matrix[j][COLS - i - 1];
matrix[j][COLS - i - 1] = temp;
}
}
}
void printMatrix(int matrix[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
printf("Original Matrix:\n");
printMatrix(matrix);
rotate(matrix);
printf("Rotated Matrix:\n");
printMatrix(matrix);
return 0;
}
```
首先,我们定义了一个3x3的矩阵,然后编写了一个rotate函数来实现矩阵的顺时针旋转。我们使用了两个循环来遍历矩阵,将每个元素旋转90度。最后,我们编写了一个printMatrix函数来输出矩阵。在主函数中,我们先输出原始矩阵,然后调用rotate函数进行旋转,并输出旋转后的矩阵。
阅读全文