酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

本题要求使用数组指针作函数参数,进行学生成绩统计。要求如下: 输入m个学生(最多30人)n门课程(最多5门)的成绩,然后计算并打印每个学生各门课的总分和平均分。其中,m和n的值由用户从键盘输入。 输入格式: 学生个数m 课程数n 学生1课程1分数 学生1课程2分数 ... 学生1课程n分数 学生2课程1分数 学生2课程2分数 ... 学生2课程n分数 ... 学生m课程1分数 学生m课程2分数 ... 学生m课程n分数 输出格式: 每个学生总分(整数) 平均分(实数,保留1位小数) 用c语言

以下是用 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点数解答]

相关提问