用c写:统计多个班级的所有学生的C++课程成绩。 要求: 动态分配和释放空间; 输入第一行为班级数N; 然后输入N行,第 i 行的第一个数表示第 i 个班有多少人(记为ni),第i行后ni个数分别表示第 i 班第0号学员到第ni -1号学员的C++成绩, 班级和人员的编号都从0开始; 最后,输入整数x和y,程序输出第x号班第y号人的成绩。 效果如下: 输入: 3 2 90 100 3 91 92 93 4 100 99 96 95 1 1 输出:92
时间: 2024-02-27 21:54:20 浏览: 114
学生成绩统计(c++ )
5星 · 资源好评率100%
以下是用 C 语言实现的代码,满足上述要求:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, x, y;
scanf("%d", &n);
int **grades = (int **) malloc(n * sizeof(int *)); // 动态分配内存
for (int i = 0; i < n; i++) {
int m;
scanf("%d", &m);
grades[i] = (int *) malloc(m * sizeof(int)); // 动态分配内存
for (int j = 0; j < m; j++) {
scanf("%d", &grades[i][j]);
}
}
scanf("%d%d", &x, &y);
printf("%d", grades[x][y]);
for (int i = 0; i < n; i++) {
free(grades[i]); // 释放内存
}
free(grades); // 释放内存
return 0;
}
```
该程序首先读入班级数 n,然后分别读入每个班级的学生数量和每个学生的成绩,并动态分配内存存储成绩信息。最后读入需要查询的学生编号,输出该学生的成绩,并释放动态分配的内存。
阅读全文