要求用c语言实现对学生的英语成绩进行管理,包括学生成绩的信息输入、输出、统计、查询、添加、排序等功能。。 2. 假设,现收集到了 10名学生的英语成绩,要求用 C 语言编写一个简单的成绩管理系统,用模块化的方法实现学生成绩的输入、输出、统计、查询、添加、排序等功能
时间: 2024-01-03 22:04:57 浏览: 14
好的,我可以帮您编写一个用 C 语言实现学生成绩管理系统,包括学生成绩的信息输入、输出、统计、查询、添加、排序等功能。
首先,我们可以定义一个结构体来存储每个学生的信息,包括姓名、学号和英语成绩。
```
typedef struct {
char name[20];
int num;
float score;
} Student;
```
接下来,我们可以定义一个数组来存储所有学生的信息。
```
Student students[10];
```
然后,我们可以编写以下模块化的函数来实现各个功能。
1. 输入学生信息模块
```
void input(Student* student) {
printf("请输入学生姓名:");
scanf("%s", student->name);
printf("请输入学生学号:");
scanf("%d", &student->num);
printf("请输入学生英语成绩:");
scanf("%f", &student->score);
printf("输入成功!\n");
}
```
2. 输出学生信息模块
```
void output(Student* student) {
printf("姓名:%s,学号:%d,英语成绩:%.1f\n", student->name, student->num, student->score);
}
```
3. 统计学生总分和平均分模块
```
void statistics(Student* students, int n, float* total, float* average) {
*total = 0;
for (int i = 0; i < n; i++) {
*total += students[i].score;
}
*average = *total / n;
}
```
4. 查询学生信息模块
```
void query(Student* students, int n, int num) {
int flag = 0;
for (int i = 0; i < n; i++) {
if (students[i].num == num) {
output(&students[i]);
flag = 1;
break;
}
}
if (!flag) {
printf("没有找到学号为%d的学生!\n", num);
}
}
```
5. 添加学生信息模块
```
void add(Student* students, int* n) {
if (*n >= 10) {
printf("学生信息已达到上限,无法添加!\n");
return;
}
input(&students[*n]);
(*n)++;
}
```
6. 排序学生信息模块
```
void sort(Student* students, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (students[j].score < students[j + 1].score) {
Student temp = students[j];
students[j] = students[j + 1];
students[j + 1] = temp;
}
}
}
printf("排序成功!\n");
}
```
最后,我们可以编写一个主函数来调用以上函数,完成学生成绩管理系统的实现。
```
int main() {
int n = 0;
float total, average;
for (int i = 0; i < 3; i++) {
add(students, &n);
}
printf("学生信息如下:\n");
for (int i = 0; i < n; i++) {
output(&students[i]);
}
statistics(students, n, &total, &average);
printf("学生总分:%.1f,平均分:%.1f\n", total, average);
sort(students, n);
printf("排序后的学生信息如下:\n");
for (int i = 0; i < n; i++) {
output(&students[i]);
}
query(students, n, 2);
return 0;
}
```
这样,一个简单的学生成绩管理系统就完成了。
阅读全文