

各位佬们可以帮忙看一下这个代码吗😭一直得不了满分,先谢谢各位了
#include <stdio.h>
#define MAX 100 // 假设矩阵的最大尺寸为100x100
void printMatrix(int matrix[MAX][MAX], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
void swapBySecondaryDiagonal(int matrix[MAX][MAX], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = i + 1; j < cols; j++) {
// 交换matrix[i][j]和matrix[j][i]
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// 如果矩阵尺寸是奇数且中心元素在副对角线上,则无需额外处理
// 否则,对于偶数尺寸的矩阵,中心元素(如果存在)保持不变
}
int main() {
int rows, cols;
int matrix[MAX][MAX];
printf("请输入矩阵的行数和列数:\n");
scanf("%d %d", &rows, &cols);
printf("请输入矩阵的元素:\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
scanf("%d", &matrix[i][j]);
}
}
printf("原始矩阵:\n");
printMatrix(matrix, rows, cols);
swapBySecondaryDiagonal(matrix, rows, cols);
printf("按副对角线交换后的矩阵:\n");
printMatrix(matrix, rows, cols);
return 0;
}