用C语言请写出一个3x3的矩阵,能使得图像左右翻转
时间: 2024-09-13 07:12:14 浏览: 59
在C语言中,我们可以创建一个二维数组来表示一个3x3的矩阵,并通过指针操作实现左右翻转。这里是一个简单的例子:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void flip_matrix(int matrix[ROWS][COLS]) {
int temp; // 存储临时值
for (int i = 0; i < ROWS; i++) { // 遍历行
for (int j = 0; j < COLS / 2; j++) { // 只需遍历一半列,因为另一半会在交换过程中完成翻转
temp = matrix[i][j]; // 保存左半部分的元素
matrix[i][j] = matrix[i][COLS - 1 - j]; // 将右半部分的元素移动到左边
matrix[i][COLS - 1 - j] = temp; // 将之前保存的元素放到右边
}
}
}
// 示例矩阵初始化
int main() {
int matrix[ROWS][COLS] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
printf("原始矩阵:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
flip_matrix(matrix);
printf("\n翻转后的矩阵:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
运行这个程序,你会看到原始矩阵首先被打印出来,然后经过`flip_matrix`函数处理后,会显示出左右翻转的效果。
阅读全文