有一个班,3名学生,各学四门课,计算总平均数以及第n个学生的成绩,在C语言里用指针和函数实现
时间: 2024-12-19 07:17:13 浏览: 30
在C语言中,我们可以创建一个结构体来代表每个学生的信息,包括姓名和成绩,并使用指针和函数来处理这个班级的数据。这里是一个简单的示例:
首先,我们定义一个`Student`结构体:
```c
typedef struct {
char name[20];
int scores[4]; // 学生的四门课程成绩
} Student;
```
然后定义一个函数,接受学生的指针作为参数,计算总平均分:
```c
float calculate_average(Student *student) {
float total = 0;
for (int i = 0; i < 4; i++) {
total += student->scores[i];
}
return total / 4;
}
```
接着计算整个班级的平均分数,假设我们有三个学生的数组`students`:
```c
void calculate_total_average(Student students[], int size) {
float total_score = 0;
for (int i = 0; i < size; i++) {
total_score += calculate_average(&students[i]);
}
printf("Total average score: %.2f\n", total_score / size);
}
// 示例:3个学生
Student students[] = {
{"Alice", {85, 90, 92, 88}},
{"Bob", {90, 95, 87, 93}},
{"Charlie", {88, 92, 86, 90}}
};
int main() {
int n = sizeof(students) / sizeof(students[0]); // 获取学生数量
calculate_total_average(students, n);
// 计算第n个学生的平均成绩
int nth_student = 1; // 修改此处为需要查询的学生编号
printf("Average score of student %d: %.2f\n", nth_student, calculate_average(&students[nth_student - 1]));
return 0;
}
```
阅读全文