要将一个二维数组逆序输出,可以先将每一行的元素逆序,然后再将每一行逆序输出。
下面是一个示例代码:
#include <stdio.h>
#define ROWS 3
#define COLS 4
void reverseArray(int arr[][COLS], int rows, int cols) {
for (int i = 0; i < rows; i++) {
// 将每一行的元素逆序
for (int j = 0, k = cols - 1; j < k; j++, k--) {
int temp = arr[i][j];
arr[i][j] = arr[i][k];
arr[i][k] = temp;
}
}
// 将每一行逆序输出
for (int i = rows - 1; i >= 0; i--) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int arr[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
reverseArray(arr, ROWS, COLS);
return 0;
}
运行结果:
9 10 11 12
5 6 7 8
1 2 3 4