```c #include <stdio.h> // 查找最高分及所在位置的函数 void findBestScore(int (*arr)[5], int rows) { int maxScore = arr[0][0]; // 初始化最大值 int row = 0, col = 0; // 记录最大值所在的行和列 for (int i = 0; i < rows; i++) { for (int j = 0; j < 5; j++) { if (arr[i][j] > maxScore) { maxScore = arr[i][j]; row = i; col = j; } } } printf("最高分是:%d\n", maxScore); printf("行数是:%d\n", row + 1); printf("列数是:%d\n", col + 1); } // 主函数 int main() { int arr[3][5]; printf("请输入 3 名同学 5 门课的成绩,每行一个同学的成绩,每个成绩之间空一格:\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 5; j++) { scanf("%d", &arr[i][j]); } } findBestScore(arr, 3); return 0; } ``` 额外注意的逻辑点: 1. 输入成绩时要确保输入的是有效的整数。 2. 函数中传递的是二维数组的指针,要注意指针的使用和数组的边界。 3. 在查找最高分的过程中,要正确处理可能出现的相同最高分的情况。 [2024-12-13 23:14:35 | AI写代码神器 | 393点数解答]