编写程序处理若干个学生的信息,每个学生的信息包括:学号、姓名、三门成绩及平均分。要求从键盘输入的学生数据用一个函数实现,并存入文件,用一个函数打开此文件后,求出各位同学的平均分,输出函数可以输出所有同学的成绩表(包括每个学生的学号、姓名、三门成绩及平均分数)也可以输出平均分在前3名的学生姓名及平均分。主函数可以方便地调用以上函数。
1条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2022-01-10 22:28关注
参考:
#include "stdio.h" #define N 2 struct student{ int id; char name[20]; int kaoqun; int biaoxian; int zuoye; float avg; }stud[N],t; int main() { int i,j; for(i=0;i<N;i++){ printf("请输入第%d个学生信息\n",i+1); scanf("%d %s",&stud[i].id,&stud[i].name); fflush(stdin); scanf("%d %d %d",&stud[i].kaoqun,&stud[i].biaoxian,&stud[i].zuoye); stud[i].avg = (stud[i].kaoqun+stud[i].biaoxian+stud[i].zuoye)/3.0f; } //倒叙排序 for (i = 0; i < N - 1; i++){ for (j = 0; j < N - 1 - i; j++){ //按成绩对学生信息进行排序 if (stud[j].avg < stud[j + 1].avg){ //整型数字的比较 t = stud[j]; stud[j] = stud[j + 1]; stud[j + 1] = t; } } } //打印 printf("学号\t姓名\t课程1\t课程2\t课程3\t平均分\t\n"); for (i = 0; i < N; i++){ printf("%d\t", stud[i].id); printf("%s\t", stud[i].name); printf("%d\t", stud[i].kaoqun); printf("%d\t", stud[i].biaoxian); printf("%d\t", stud[i].zuoye); printf("%f \n", stud[i].avg); } return 1; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
- ¥15 lammps拉伸应力应变曲线分析
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛
- ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
- ¥30 python代码,帮调试,帮帮忙吧
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建