C语言5×5的矩阵排序

img


#include 
#include 

#define N 5

void swap(int *a, int *b) {
  int temp = *a;
  *a = *b;
  *b = temp;
}

void rearrange(int matrix[N][N]) {
  // find the maximum and minimum values in the matrix
  int max = matrix[0][0];
  int min = matrix[0][0];
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      if (matrix[i][j] > max) {
        max = matrix[i][j];
      }
      if (matrix[i][j] < min) {
        min = matrix[i][j];
      }
    }
  }

  // put the maximum value in the center of the matrix
  matrix[N / 2][N / 2] = max;

  
  matrix[0][0] = min;
  matrix[0][N - 1] = min + 1;
  matrix[N - 1][0] = min + 2;
  matrix[N - 1][N - 1] = min + 3;
}

int main() {
  int matrix[N][N];

  // read the matrix from the keyboard
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      scanf("%d", &matrix[i][j]);
    }
  }

  // rearrange the matrix
  rearrange(matrix);

  // print the rearranged matrix
  printf("Now, matrix: \n");
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      printf("%2d ", matrix[i][j]);
    }
    printf("\n");
  }



  return 0;
}



这是什么情况啊

把N改成10,要不会越界。
望采纳。

按照什么规律排序?