输入3名学生的学号和3门课成绩信息,输出学生的平均成绩,用结构体处理
时间: 2024-09-06 21:04:48 浏览: 48
c++定义一个学生类(属性有学号,姓名,成绩),要求输入学生的学号,姓名及三科的成绩,以输入内容来设置学生对象的属性。最后输出学生的学号,姓名及三科的平均成绩。
在C语言中,我们可以使用结构体(struct)来存储每个学生的信息,包括学号和三门课程的成绩。首先,我们定义一个名为`Student`的结构体:
```c
typedef struct {
int student_id; // 学号
float score_1; // 第一门课程成绩
float score_2; // 第二门课程成绩
float score_3; // 第三门课程成绩
} Student;
```
然后,为了计算平均成绩,我们需要一个函数,例如`calculate_average()`,它接收一个`Student`类型的数组,并返回平均分:
```c
float calculate_average(Student students[], int num_students) {
float total_score = 0.0;
for (int i = 0; i < num_students; i++) {
total_score += students[i].score_1 + students[i].score_2 + students[i].score_3;
}
return total_score / num_students;
}
```
最后,你可以这样使用这个函数:
```c
int main() {
Student students[3] = {
{1, 85.0, 90.0, 75.0},
{2, 92.0, 95.0, 88.0},
{3, 80.0, 85.0, 90.0}
};
int num_students = sizeof(students) / sizeof(students[0]);
float avg_score = calculate_average(students, num_students);
printf("学生的平均成绩是 %.2f\n", avg_score);
return 0;
}
```
阅读全文