以下是用 C 语言实现的代码: ```c #include <stdio.h> // 计算每个学生的总分和平均分的函数 void calculateScores(int m, int n, int (*scores)[n]) { for (int i = 0; i < m; i++) { // 遍历每个学生 int totalScore = 0; // 初始化总分 for (int j = 0; j < n; j++) { // 遍历每门课程 totalScore += scores[i][j]; // 累加分数 } float averageScore = (float)totalScore / n; // 计算平均分 printf("%d %.1f\n", totalScore, averageScore); // 输出总分和平均分 } } int main() { int m, n; printf("请输入学生个数 m:"); scanf("%d", &m); printf("请输入课程个数 n:"); scanf("%d", &n); int scores[m][n]; // 定义二维数组存储成绩 printf("请输入成绩:\n"); for (int i = 0; i < m; i++) { // 输入成绩 for (int j = 0; j < n; j++) { scanf("%d", &scores[i][j]); } } calculateScores(m, n, scores); // 调用函数计算并输出 return 0; } ``` 需要注意的逻辑点: 1. 输入成绩时要确保数据的有效性和正确性。 2. 计算平均分时要注意数据类型的转换,避免精度丢失。 3. 处理数组指针作为参数时,要确保传递的参数和函数内部的操作匹配。 [2024-12-13 23:13:47 | AI写代码神器 | 403点数解答]