2输入3名学生的学号和3门课成绩信息,输出学生的平均成绩,用结构体处理
时间: 2024-09-14 17:05:48 浏览: 44
在C语言中,你可以使用结构体(struct)来存储学生的信息,包括两个整数类型的学号和三个浮点型的成绩。首先,定义一个包含这些字段的结构体,然后创建一个数组来存储多个学生的数据。最后,编写函数来计算所有学生的平均成绩。
下面是一个简单的例子:
```c
#include <stdio.h>
// 定义结构体Student,包含学号和三门课程的成绩
typedef struct {
int student_id;
float course1_score;
float course2_score;
float course3_score;
} Student;
// 函数来计算单个学生平均分
float calculate_average(Student s) {
return (s.course1_score + s.course2_score + s.course3_score) / 3.0;
}
// 主函数,用于输入数据并计算平均成绩
int main() {
const int num_students = 3; // 假设有3名学生
Student students[num_students]; // 学生信息数组
for (int i = 0; i < num_students; i++) {
printf("请输入第%d位学生的学号、课程一成绩、课程二成绩和课程三成绩:\n", i+1);
scanf("%d %f %f %f", &students[i].student_id, &students[i].course1_score, &students[i].course2_score, &students[i].course3_score);
}
// 计算平均成绩
float total_average = 0;
for (int i = 0; i < num_students; i++) {
total_average += calculate_average(students[i]);
}
total_average /= num_students;
printf("所有学生的平均成绩是: %.2f\n", total_average);
return 0;
}
```
阅读全文