用c语言编程:利用结构体,输入学生学号、数学成绩、语文成绩、英语成绩、姓名,输出该次考试数学的平均分、语文的平均分、英语的平均分
时间: 2024-09-19 21:10:08 浏览: 81
C语言课程设计 学生成绩管理系统
在C语言中,你可以使用结构体来组织学生的相关数据,并通过循环来计算每个科目的平均分。首先,创建一个名为`Student`的结构体,包含学号、各科成绩和姓名:
```c
#include <stdio.h>
// 定义学生结构体
struct Student {
int id;
float math_score, chinese_score, english_score;
char name[50];
};
void input_student_info(struct Student *student) {
printf("请输入学生信息:\n");
scanf("%d %f %f %f %s", &student->id, &student->math_score, &student->chinese_score, &student->english_score, student->name);
}
float calculate_average(struct Student student) {
return (student.math_score + student.chinese_score + student.english_score) / 3.0;
}
int main() {
struct Student students[10]; // 假设最多有10名学生
int num_students = 0;
while (num_students < 10) { // 输入直至达到最大容量
input_student_info(&students[num_students]);
num_students++;
}
printf("\n每位学生的科目平均分如下:\n");
for (int i = 0; i < num_students; i++) {
float math_avg = calculate_average(students[i]);
float chinese_avg = students[i].chinese_score / 3.0; // 假定语文成绩不分,直接除以3
float english_avg = students[i].english_score / 3.0;
printf("学生%d (%s): 数学平均分 %.2f, 语文平均分 %.2f, 英语平均分 %.2f\n",
students[i].id, students[i].name, math_avg, chinese_avg, english_avg);
}
return 0;
}
```
阅读全文