#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,要不会越界。
望采纳。
按照什么规律排序?