程序1某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组和指针作函数参数,编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号和考试成绩;
(2)按学号由小到大排出成绩表;
(3)计算并输出最高分及相应学生的学号。
要求程序运行后先显示如下菜单,并提示用户输入选项:
1.Append record
2.Sort in ascending order by number
3.Caculate Max. score of course and number
0.Exit
Please enter your choice:
然后,根据用户输入的选项执行相应的操作。
程序1某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组和指针作函数参数,编程实现如下菜单驱动的学生成绩管理系统:
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- fuill 2022-01-02 10:35关注
手打不容易,满意给个采纳吧
#include <stdio.h> //typedef struct student { int id; int score; } t[30]; int post=0,n,max; void r() { int k; printf("输入学生个数:"); scanf("%d",&n); printf("输入学号和分数:\n"); for(k=0; k<n; k++) { scanf("%d%d",&t[k].id,&t[k].score); } z(); return; } void sort() { int j,k; struct student tem; for(k=0; k<n-1; k++) { for(j=0; j<n-k-1; j++) { if(t[j].id>t[j+1].id) { tem=t[j]; t[j]=t[j+1]; t[j+1]=tem; } } } for(k=0; k<n; k++) { printf("学号:%d 成绩:%d\n",t[k].id,t[k].score); } z(); return; } void m() { int j,k; max=t[0].score; for(k=1; k<n; k++) { if(t[k].score>max) { max=t[k].score; post=k; } } printf("最高分数:%d 学号为:%d",max,t[k].id); z(); return; } int z() { printf("1.Append record\n"); printf("2.Sort in ascending order by number\n"); printf("3.Caculate Max. score of course and number\n"); printf("0.Exit\n"); printf("Please enter your choice:\n"); int c=0; scanf("%d",&c); switch (c) { case 1: r(); break; case 2: sort(); break; case 3: m(); break; case 0: break; default: printf("error!"); break; } return 0; } int main() { z(); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 8无用
悬赏问题
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题