1. 一年一班共有学生n名,编程实现对该班学生成绩的管理: 数据项:学号、姓名、语文、数学 功能: 录入、查询、统计。这个程序流程图
时间: 2023-07-10 09:20:31 浏览: 91
对于这个问题,我可以给你提供伪代码和流程图,帮助你理解实现过程。
伪代码:
```
定义学生成绩结构体
struct student {
int id; //学号
char name[20]; //姓名
float chinese; //语文成绩
float math; //数学成绩
};
定义学生成绩数组
student stu[100];
定义学生数量变量
int n = 0;
主函数:
1.菜单打印
2.用户输入选择
3.根据选择执行对应功能
4.返回菜单
菜单打印函数:
print_menu() {
printf("1. 录入学生成绩\n");
printf("2. 查询学生成绩\n");
printf("3. 统计学生成绩\n");
printf("4. 退出\n");
printf("请选择功能:\n");
}
录入学生成绩函数:
input_score() {
printf("请输入学生的学号、姓名、语文成绩和数学成绩:\n");
scanf("%d %s %f %f", &stu[n].id, stu[n].name, &stu[n].chinese, &stu[n].math);
n++;
printf("录入成功!\n");
}
查询学生成绩函数:
query_score() {
int id;
printf("请输入要查询的学生学号:\n");
scanf("%d", &id);
for (int i = 0; i < n; i++) {
if (stu[i].id == id) {
printf("学号:%d,姓名:%s,语文成绩:%.2f,数学成绩:%.2f\n", stu[i].id, stu[i].name, stu[i].chinese, stu[i].math);
return;
}
}
printf("未找到该学生!\n");
}
统计学生成绩函数:
stat_score() {
float chinese_sum = 0, math_sum = 0;
for (int i = 0; i < n; i++) {
chinese_sum += stu[i].chinese;
math_sum += stu[i].math;
}
printf("语文成绩总和:%.2f,数学成绩总和:%.2f\n", chinese_sum, math_sum);
printf("语文成绩平均分:%.2f,数学成绩平均分:%.2f\n", chinese_sum/n, math_sum/n);
}
主函数流程图:
![image](https://cdn.luogu.com.cn/upload/image_hosting/6v6f1o9i.png)
阅读全文