一个学生具有学号、姓名、3门课程成绩共5个信息。定义结构体变量,调用函数求3门课程的平均分
时间: 2024-10-09 15:02:59 浏览: 56
为了定义一个表示学生信息的数据结构,并编写一个函数来计算学生的三门课程平均分,我们可以创建一个名为`Student`的结构体,包含学号、姓名和分数数组。然后定义一个函数`CalculateAverageScore`来完成这个任务。这里是一个简单的示例,使用C语言:
```c
#include <stdio.h>
// 定义结构体 Student
typedef struct {
int student_id; // 学号
char name[50]; // 姓名
float scores[3]; // 三门课程的成绩数组
} Student;
// 函数:计算平均分
float CalculateAverageScore(Student student) {
if (student.scores[0] + student.scores[1] + student.scores[2] != 0) {
return (student.scores[0] + student.scores[1] + student.scores[2]) / 3.0;
} else {
printf("警告:至少一门课程的成绩未给出。\n");
return 0;
}
}
int main() {
// 初始化一个学生数据
Student student = {1001, "张三", {85.0, 90.0, 88.5}};
// 调用函数并打印平均分
float average_score = CalculateAverageScore(student);
printf("学生 %s 的三门课程平均分为 %.2f 分\n", student.name, average_score);
return 0;
}
```
在这个例子中,我们首先定义了一个`Student`结构体,包含学号(int),姓名(char[])和成绩(float数组,长度为3)。然后,`CalculateAverageScore`函数接收一个`Student`类型的参数,检查总分是否为零,再计算平均值。在`main`函数里,我们创建了一个学生实例并调用了这个函数。
阅读全文