定义结构体的学生成绩数组,其中包括学号、姓名、语文、数学和英语分数,用函数input()实现输入和output()实现输出5位学生的各门成绩并且编写一个函数insert()实现插入某位同学的成绩信息。
时间: 2023-04-09 20:01:39 浏览: 106
可以回答这个问题。定义一个结构体,包括学号、姓名、语文、数学和英语分数,然后定义一个学生成绩数组,数组中存储结构体类型的数据。使用函数input()实现输入学生的各门成绩,使用output()实现输出5位学生的各门成绩。编写一个函数insert(),实现插入某位同学的成绩信息。具体实现可以参考以下代码:
```
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT 5
struct student {
char id[10];
char name[20];
float chinese;
float math;
float english;
};
struct student students[MAX_STUDENT];
void input() {
for (int i = 0; i < MAX_STUDENT; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("语文成绩:");
scanf("%f", &students[i].chinese);
printf("数学成绩:");
scanf("%f", &students[i].math);
printf("英语成绩:");
scanf("%f", &students[i].english);
}
}
void output() {
printf("学号\t姓名\t语文\t数学\t英语\n");
for (int i = 0; i < MAX_STUDENT; i++) {
printf("%s\t%s\t%.1f\t%.1f\t%.1f\n", students[i].id, students[i].name, students[i].chinese, students[i].math, students[i].english);
}
}
void insert() {
char id[10];
printf("请输入要插入的学生的学号:");
scanf("%s", id);
for (int i = 0; i < MAX_STUDENT; i++) {
if (strcmp(students[i].id, id) == 0) {
printf("请输入要插入的学生的信息:\n");
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("语文成绩:");
scanf("%f", &students[i].chinese);
printf("数学成绩:");
scanf("%f", &students[i].math);
printf("英语成绩:");
scanf("%f", &students[i].english);
return;
}
}
printf("没有找到该学生的信息!\n");
}
int main() {
input();
output();
insert();
output();
return 0;
}
```
阅读全文
相关推荐














