C语言姓名平均成绩排序,C语言代码学生信息排序

《C语言代码学生信息排序》由会员分享,可在线阅读,更多相关《C语言代码学生信息排序(7页珍藏版)》请在人人文库网上搜索。

1、C语言代码-学生信息排序问题描述学生信息由学号,姓名,性别,语文成绩,数学成绩,英语成绩,平均分和总分构成。学号、姓名长度不超过20,学生人数不超过100。写一个处理学生信息的程序,要求有以下功能1)插入学生信息,命令格式如下:INSERT id name sex s1 s2 s3表示插入一个学生信息。插入后显示插入的学生信息,格式如下:学号 姓名 性别 语文成绩 数学成绩 英语成绩 平均成绩 总成绩中间有一个空格分开,所有成绩保留2位小数。2)显示所有学生信息,命令格式如下:LIST按照学号从小到大的顺序显示所有学生信息。每个学生信息一行,格式如下学号 姓名 性别 语文成绩 数学成绩 英语成。

2、绩 平均成绩 总成绩中间有一个空格分开,所有成绩保留2位小数。3)退出程序,命令格式如下:QUIT输出Good bye!后结束程序。写一个程序完成上述功能。输入的最后一条命令总是QUIT设计一个结构体表示学生信息。分别设计两个函数,来处理学生信息的插入与输出。设计一个函数对所有学生信息按学号进行排序。再设计一个函数输出所有学生信息。在主函数中调用插入学生信息与显示所有学生信息的函数。输入输入有多行,每行一条命令,命令格式有:INSERT id name sex s1 s2 s3插入一条学生信息后并显示插入的学生信息。LIST按照学号从小到大的顺序显示所有学生信息。每个学生信息一行,QUIT退出。

3、程序输出输出有多行,每个输入命令都有对应的输出,格式分别如下:INSERT id name sex s1 s2 s3插入后显示插入的学生信息,格式如下:学号 姓名 性别 语文成绩 数学成绩 英语成绩 平均成绩 总成绩中间有一个空格分开,所有成绩保留2位小数。LIST按照学号从小到大的顺序显示所有学生信息,每个学生信息一行。每行格式如下:学号 姓名 性别 语文成绩 数学成绩 英语成绩 平均成绩 总成绩中间有一个空格分开,所有成绩保留2位小数。QUIT输出Good bye!后结束程序。输入样列INSERT 09001 zhanghong F 78 82 87.5INSERT 09003 lisi 。

4、M 68 62 67.5LISTINSERT 09002 wangwu M 78 72 77.5LISTQUIT输出样例09001 zhanghong F 78.00 82.00 87.50 82.50 247.5009003 lisi M 68.00 62.00 67.50 65.83 197.5009001 zhanghong F 78.00 82.00 87.50 82.50 247.5009003 lisi M 68.00 62.00 67.50 65.83 197.5009002 wangwu M 78.00 72.00 77.50 75.83 227.5009001 zhangho。

5、ng F 78.00 82.00 87.50 82.50 247.5009002 wangwu M 78.00 72.00 77.50 75.83 227.5009003 lisi M 68.00 62.00 67.50 65.83 197.50Good bye!#include stdio.h#include string.hstruct studentchar id25,nam25,sex2;double s1,s2,s3,pj,zf;x105;student INSERT()student x;scanf(%s%s%s%lf%lf%lf,x.id,x.nam,x.sex,&x.s1,&x。

6、.s2,&x.s3);x.zf=x.s1+x.s2+x.s3;x.pj=x.zf/3;printf(%s %s %s %.2f %.2f %.2f %.2f %.2fn,x.id,x.nam,x.sex,x.s1,x.s2,x.s3,x.pj,x.zf);return x;void LIST(student x,int n)int i,j;student temp;for(i=0;in;i+)for(j=0;jn-1-i;j+)if(strcmp(xj.id,xj+1.id)0)temp=xj;xj=xj+1;xj+1=temp;for(i=0;in;i+)printf(%s %s %s %.2f %.2f %.2f %.2f %.2fn,xi.id,xi.nam,xi.sex,xi.s1,xi.s2,xi.s3,xi.pj,xi.zf);int main()char c25;int i;i=0;while(1)scanf(%s,c);if(strcmp(c,INSERT)=0)xi=INSERT();i+;if(strcmp(c,LIST)=0)LIST(x,i);if(strcmp(c,QUIT)=0)printf(Good bye!n); break;return 0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值