模拟高考平行志愿投档

//模拟高考平行志愿投档
//要求:
/*
1.在输入每个考生的成绩、志愿,学校的招生计划情况下能完成模拟平行志愿方式的高考志愿投档,
后输出每个学生的投档学校。如果考生不能投到某个学校,则输出“NO”
说明:
1.成绩总分由语文、数学、英语和综合四门课程组成,成绩排名先按总分,再按语文、数学、英语和
综合进行。
2.学生志愿可选择3个学校,如果学校名称输错则该考生无法投档。
3.平行志愿投档规则为:平行志愿按分数优先原则投档。即首先将同一科类批次线上的“自由可投”的
考生按投档成绩从高分到低分排序投档,当遇到多名考生特征成绩相同时,依次按语、数、外、综合科
目的成绩从高分到低分排序投档;对单个考生投档时,根据考生填报的平行志愿中的院校志愿顺序,投
档到排序相对在前且有计划余额的院校。*/
#include<stdio.h>
#include<math.h>
#include<String.h>

typedef struct Record{ //成绩表结构体定义
int S_numble; //学生准考证号
float S_literature; //语文
float S_math; //数学
float S_english; //英语
float S_synthesize; //综合
float S_all; //总分
int S_first; //第一平行志愿
int S_second; //第二平行志愿
int S_third; //第三平行志愿
char S_enroll; //=1被录取=0没录取
}Srecord;

typedef struct Enroll{ //招生表结构体定义
int N_numble; //招生人数
float N_grade; //最低分数线
int code; //学校代号
}E_college;

void Rank( Record srt[5],int rry[],int h)
{ int i,j,temp;

for(i=1;i<h;i++)
{
for(j=i+1;j<h+1;j++)
{

if(srt[rry[i]].S_all<srt[rry[j]].S_all)
{
temp=rry[i];
rry[i]=rry[j];
rry[j]=temp;
}
else if(srt[rry[i]].S_all==srt[rry[j]].S_all)
{
if(srt[rry[i]].S_literature<srt[rry[j]].S_literature) //总分相同,
{
temp=rry[i];
rry[i]=rry[j];
rry[j]=temp;
break;
}
else if(srt[rry[i]].S_literature==srt[rry[j]].S_literature) //语文分数相同,判断数学是否相同
{
if(srt[rry[i]].S_math<srt[rry[j]].S_math )
{
temp=rry[i];
rry[i]=rry[j];
rry[j]=temp;
break;
}
else if(srt[rry[i]].S_math==srt[rry[j]].S_math) //语文,数学分数相同,判断英语分数是否相同
{
if(srt[rry[i]].S_english<srt[rry[j]].S_english)
{
temp=rry[i];
rry[i]=rry[j];
rry[j]=temp;
break;
}
else if(srt[rry[i]].S_english==srt[rry[j]].S_english) //语文,数学,英语分数相同,判断综合分数是否相同
{
if(srt[rry[i]].S_all<srt[rry[j]].S_all)
{
temp=rry[i];
rry[i]=rry[j];
rry[j]=temp;
}
}
}
}
}
}

}

}
void Disply(Record S[100],int ry[5],int m,int n,int p,int t)
{ int c;
for(c=1;c<=p&&c<n;c++)
{
if(ry[c]>0&&ry[c]<10)
{
S[ry[c]].S_enroll=1;
printf("准考证号为%d——第%d平行志愿录取——录取学校代号%d----录取分数%f\n",S[ry[c]].S_numble,t,m,S[ry[c]].S_all);
}
}

for(c=1;c<n;c++)
{
ry[c]=0;
}
}

void main()
{
int MM,i,j,k,p,grade,w;
int arry[5];
printf("******************录取学校名称用学校代号显示********************\n");
printf("*****************************************************************\n");
printf("北京大学(200901)——限2人——最低分 627分\n清华大学(200902)——限3人——最低分 609分 \n南开大学(200903)——限2人——最低分 589分\n东北大学(200904)——限4人——最低分 545分\n四川大学(200905)——限5人——最低分 555分\n南京大学(200906)——限3人——最低分 578分\n贵州大学(200907)——限5人——最低分 545分 \n");
printf("*****************************************************************\n");
Srecord srecord[100];
E_college Ecollege[10];
printf("请输入学生个数");
scanf("%d",&MM);
for(i=1;i<=MM;i++)
{
printf("请输入学生准考证号(4位):");
scanf("%d",&srecord[i].S_numble);
printf("请输入学生 语文成绩:");
scanf("%f",&srecord[i].S_literature);
printf("请输入学生 数学成绩:");
scanf("%f",&srecord[i].S_math);
printf("请输入学生 英语成绩:");
scanf("%f",&srecord[i].S_english);
printf("请输入学生 综合成绩:");
scanf("%f",&srecord[i].S_synthesize);
srecord[i].S_all=srecord[i].S_literature+srecord[i].S_math+srecord[i].S_english+srecord[i].S_synthesize;
printf("请输入学生 第一志愿学校代号(20090**):");
scanf("%d",&srecord[i].S_first);
printf("请输入学生 第二志愿学校代号(20090**):");
scanf("%d",&srecord[i].S_second);
printf("请输入学生 第三志愿学校代号(20090**):");
scanf("%d",&srecord[i].S_third);
srecord[i].S_enroll=0;
}
j=200900;
k=1;
for(i=1;i<10;i++)
{
Ecollege[i].code=j+i;

}
Ecollege[1].N_numble=2;
Ecollege[1].N_grade=627;
Ecollege[2].N_numble=3;
Ecollege[2].N_grade=609;
Ecollege[3].N_numble=2;
Ecollege[3].N_grade=589;
Ecollege[4].N_numble=4;
Ecollege[4].N_grade=545;
Ecollege[5].N_numble=5;
Ecollege[5].N_grade=555;
Ecollege[6].N_numble=3;
Ecollege[6].N_grade=578;
Ecollege[7].N_numble=5;
Ecollege[7].N_grade=545;

j=j+1;
w=1;
////////////////////////选择第一志愿同一学校的学生查询
while(j<200908)
{
for(i=1;i<=MM;i++)
{

if(j==srecord[i].S_first)
if(srecord[i].S_all >=Ecollege[j-200900].N_grade)
if(srecord[i].S_enroll==0)
{
arry[k]=i;
k++;
}

}
Rank(srecord,arry,k);
p=Ecollege[j-200900].N_numble;
Disply(srecord,arry,j,k,p,w);
j++;
}

///////////////////////////////////// 选择第二志愿同学校的学生查询

j=200901;
k=1;
w=2;
while(j<200908)
{
for(i=1;i<=MM;i++)
{

if(j==srecord[i].S_second)
if(srecord[i].S_all >=Ecollege[j-200900].N_grade)
if(srecord[i].S_enroll==0)
{
arry[k]=i;
k++;
}

}

Rank(srecord,arry,k);
p=Ecollege[j-200900].N_numble;
Disply(srecord,arry,j,k,p,w);
j++;
}

///////////////////////// //选择第三志愿同一学校的学生查询
w=3;
j=200901;
k=1;
while(j<200908)
{
for(i=1;i<=MM;i++)
{

if(j==srecord[i].S_third)
if(srecord[i].S_all>=Ecollege[j-200900].N_grade)
if(srecord[i].S_enroll==0)
{
arry[k]=i;
k++;
}

}

Rank(srecord,arry,k);
p=Ecollege[j-200900].N_numble;
Disply(srecord,arry,j,k,p,w);
j++;
}

}

模拟高考平行志愿投档

时间: 2024-10-12 23:54:01

模拟高考平行志愿投档的相关文章

高考填报志愿综合参考系统1

我本人距离高考,已经过去很多年了.回过头来,想想当时的高考填报志愿,没有经过太多的指点和思考,就问了问我大一的堂哥,稀里糊涂就报上了,结果,还被录取了. 选择这个物理专业,对于我来说,简直就是噩梦的开始,谈不上喜欢,唯一让人觉得不爽的,就是没有出路.专业不行,学校不行,至于我本人呢,我毫不夸张的说,我个人还可以.但是,就是这样的轻率的一个决定,让我荒废了四年.这四年,每天与上课老师作斗争.生活在小县城的我们,包括我们父母,哪懂什么大学. 就这样,稀里糊涂的上完了,可算是上完了,打死我也不再上了.

从高考填志愿APP泛滥看,蹭热点捞金有多可恶

高考成绩并不是唯一决定未来是否美好的东东,因为还有另外一个--填志愿.在知道高考分数之后,选择合适的大学和专业尤为重要.如何选择与自己分数相匹配的大学和专业,既不会造成落榜,也不会凑合,是一门高深的学问.但也正是填志愿太过重要,让很多骗子有了可趁之机,众多诈骗.垃圾APP呈现泛滥之势. 这些APP为了蹭热点来捞金,却损害了诸多考生及家长的利益.而类似以热点为"金矿",拼命捞金的APP也决不再少数.购物狂欢节.春运等热点,成为了不法分子眼中的"香饽饽".有多可恶?咱们

Api开发者福利之api在线管理,模拟请求测试,文档生成工具--Apizza

Apizza (http://apizza.cc?f=51cto) 平台分为开发模式和浏览模板,开发模式只有用户自己可以打开,浏览模式是供其他人查看,测试使用. 平台支持标准的http协议请求,支持添加header,支持标准 json,xml,html,text四种返回格式, 自动格式化展示.平台做了许多体验优化,比如参数列表和url自动转换, 请求文档字段一键生成.响应文档的字段可以从api返回自动生成.请求自动存为历史记录, 支持定义的环境变量,可以方便切换线下,下上环境,文档导出等等. 下

山东省2015年院校投档情况统计表

http://www.sdzs.gov.cn/score/gaokao/2015/0727033/Book1.htm http://www.sdzs.gov.cn/

2020湖南教博会-高考路上,为梦起航!

年复一年,送走一批又一批的莘莘学子,高校的选择是高考生必须要完成的最后一步把关,寒窗苦读十余载,为的就是考上自己理想的大学.而每年的湖南(长沙)教博会就是为考生,家长以及各高校对接.实现对的专业,对的大学,对的人生很重要.2020第十二届湖南(长沙)教育博览会暨高校招生湖南咨询会举办时间为2020年6月26日-27日,地点在湖南省展览馆.让我们一起在高考路上,为梦起航!   ◆教博会安排  开展:6月26日—27日           星期五.六 8:30-17:30   ◆特色活动  ★ 关爱

高考估分查分选志愿一键搞定_支付宝又操办了件人生大事

原文链接 可能比高考更考验心力的填报志愿,支付宝要帮你一键搞定. 支付宝今天正式上线集估分.查分.选志愿等众多服务于一体的高考后综合服务平台,陪伴高考学生的青春大考.考生在估分.查分后,还可以看到系统智能推荐供参考的合适志愿.这项由好未来教育集团旗下高考服务机构高考派提供的增值服务,基于模型算法,也是首次在支付宝上全面免费. 去年,支付宝上线了高考"预约查分"和"实时查分"功能.今年,支付宝依托高考派提供的院校库.专业库.分数线以及排行榜,可以为考生提供估分.查分.

2019高考志愿填报交流微信群和QQ群汇总

高考志愿填报什么是平行志愿? 所谓平行志愿,指考生所选A.B.C.D等志愿,他们之间是平行关系.将达到批次录取最低控制分数线的考生,按考生成绩从高分到低分的顺序,由计算机对每个考生所填报的平行院校志愿,依次检索. 举例而言,如果第一志愿里设有A.B.C.D四个平行校志愿,考生依次填报后,录取时首先将考生档案投到考生填报的A学校,如成绩不够,则将考生档案投到B学校.若符合B院校的投档条件,就不再向C和D院校投档. 如果还有不懂的可以加WX:s1754299360 各个地区志愿填报咨询QQ群汇总 2

行业乱象丛生,“蹭热点”的高考志愿APP如何立足市场?

近日,一则"高考志愿填报APP靠谱吗"的新闻引起社会关注,一时间,社会关于高考志愿填报APP的评价褒贬不一,一方面欣喜于高考志愿的填报有了新的咨询路径,另一方面质疑此类APP是否真能有效指导高考志愿的填报.而随着今年高考志愿填报时期的到来,关于高考填报志愿APP这一行业也再次进入大众视野. 据悉,2017年全国高考报名考生共有923万人,近几年高考报名人数也在900万上下,面对这一庞大的考生群体,为满足考生的个性化需求,智能指导高考志愿填报成为手机APP开发商的一个新的突破点. 蹭热点

第二部分:志愿录取标准

第二部分:志愿录取标准 零.概况一.传统志愿录取过程二.平行志愿录取过程三.17年志愿录取过程 零.概况自1977年,恢复高考以来,高考录取标准,作为公平线,都是相当透明的. 这部分分享,以录取标准(过程)的演变为主线,从而得出17年的录取标准(过程)的可能性的结论.虽然,结论是猜测,但从演变的过程来推测,结论的可靠性是相当高的. 每年,以省(市)为单位,多少考生,多少高校要招多少考生,都要报教育部.经教育部批准,每个高校的招生名额才能确定,精确到个位数.高考前后,高校要到每个省招考生,省里要把