c语言语文成绩排序,C语言代码学生信息排序.docx

C语言代码-学生信息排序

问题描述

学生信息由学号,姓名,性别,语文成绩,数学成绩,英语成绩,平均分和总分构成。

学号、姓名长度不超过20,学生人数不超过100。

写一个处理学生信息的程序,要求有以下功能

1)插入学生信息,命令格式如下:

INSERT id name sex s1 s2 s3

表示插入一个学生信息。

插入后显示插入的学生信息,格式如下:

学号 姓名 性别 语文成绩 数学成绩 英语成绩 平均成绩 总成绩

中间有一个空格分开,所有成绩保留2位小数。

2)显示所有学生信息,命令格式如下:

LIST

按照学号从小到大的顺序显示所有学生信息。每个学生信息一行,格式如下

学号 姓名 性别 语文成绩 数学成绩 英语成绩 平均成绩 总成绩

中间有一个空格分开,所有成绩保留2位小数。

3)退出程序,命令格式如下:

QUIT

输出"Good bye!"后结束程序。

写一个程序完成上述功能。

输入的最后一条命令总是QUIT

设计一个结构体表示学生信息。

分别设计两个函数,来处理学生信息的插入与输出。

设计一个函数对所有学生信息按学号进行排序。

再设计一个函数输出所有学生信息。在主函数中调用插入学生信息与显示所有学生信息的函数。

输入

输入有多行,每行一条命令,命令格式有:

INSERT id name sex s1 s2 s3

插入一条学生信息后并显示插入的学生信息。

LIST

按照学号从小到大的顺序显示所有学生信息。每个学生信息一行,

QUIT

退出程序

输出

输出有多行,每个输入命令都有对应的输出,格式分别如下:

INSERT id name sex s1 s2 s3

插入后显示插入的学生信息,格式如下:

学号 姓名 性别 语文成绩 数学成绩 英语成绩 平均成绩 总成绩

中间有一个空格分开,所有成绩保留2位小数。

LIST

按照学号从小到大的顺序显示所有学生信息,每个学生信息一行。每行格式如下:

学号 姓名 性别 语文成绩 数学成绩 英语成绩 平均成绩 总成绩

中间有一个空格分开,所有成绩保留2位小数。

QUIT

输出"Good bye!"后结束程序。

输入样列

INSERT 09001 zhanghong F 78 82 87.5

INSERT 09003 lisi M 68 62 67.5

LIST

INSERT 09002 wangwu M 78 72 77.5

LIST

QUIT

输出样例

09001 zhanghong F 78.00 82.00 87.50 82.50 247.50

09003 lisi M 68.00 62.00 67.50 65.83 197.50

09001 zhanghong F 78.00 82.00 87.50 82.50 247.50

09003 lisi M 68.00 62.00 67.50 65.83 197.50

09002 wangwu M 78.00 72.00 77.50 75.83 227.50

09001 zhanghong F 78.00 82.00 87.50 82.50 247.50

09002 wangwu M 78.00 72.00 77.50 75.83 227.50

09003 lisi M 68.00 62.00 67.50 65.83 197.50

Good bye!

#include

#include

struct student

{

char id[25],nam[25],sex[2];

double s1,s2,s3,pj,zf;

}x[105];

student INSERT()

{

student x;

scanf("%s%s%s%lf%lf%lf",x.id,x.nam,x.sex,&x.s1,&x.s2,&x.s3);

x.zf=x.s1+x.s2+x.s3;

x.pj=x.zf/3;

printf("%s %s %s %.2f %.2f %.2f %.2f %.2f\n",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;i

{

for(j=0;j

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值