假设某班级n个同学的选课表,设计计算某位同学学分的函数 思路:动态内存分配+结构体数组+结构体指针变量 选课表组成:{学号,课程号,学分}。注:学号为字符串;一个学号可以对应多门课程 例如: {“1001”,”c language”,3.5; “1001”,”math”,6;”1001”,”english”, 5;”1002”,”c language”, 3.5}C语言
时间: 2024-03-21 10:39:35 浏览: 58
C语言程序设计-计算n门课程的平均值,计算结果作为函数值返回;例如:若有5门课程的成绩是:
5星 · 资源好评率100%
好的,关于计算某位同学学分的函数,可以按照以下步骤实现:
1. 定义结构体类型,包含学号、课程号、学分三个成员变量。
```
typedef struct{
char stu_id[10];
char course_id[20];
float credit;
} COURSE;
```
2. 动态分配一个结构体数组存储选课信息,数组长度为n。
```
COURSE *courses = (COURSE *)malloc(n * sizeof(COURSE));
```
3. 通过指针变量courses访问结构体数组中的元素,读取每个同学的选课信息(假设要计算学号为"1001"的同学学分)。
```
float sum_credit = 0;
for(int i = 0; i < n; i++){
if(strcmp(courses[i].stu_id, "1001") == 0){
sum_credit += courses[i].credit;
}
}
```
4. 最后记得释放动态分配的内存。
```
free(courses);
```
以上就是计算某位同学学分的函数实现思路。
阅读全文