数据结构 运动会11级软件工程Word格式文档下载.docx

上传人:b****2 文档编号:15386553 上传时间:2022-10-29 格式:DOCX 页数:15 大小:17.78KB
下载 相关 举报
数据结构 运动会11级软件工程Word格式文档下载.docx_第1页
第1页 / 共15页
数据结构 运动会11级软件工程Word格式文档下载.docx_第2页
第2页 / 共15页
数据结构 运动会11级软件工程Word格式文档下载.docx_第3页
第3页 / 共15页
数据结构 运动会11级软件工程Word格式文档下载.docx_第4页
第4页 / 共15页
数据结构 运动会11级软件工程Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据结构 运动会11级软件工程Word格式文档下载.docx

《数据结构 运动会11级软件工程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构 运动会11级软件工程Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

数据结构 运动会11级软件工程Word格式文档下载.docx

/*链域指向链表中第一个结点*/

}ITEM;

intz;

/*项目总数*/

ITEMa[MAX];

}ALLitems;

typedefstructnode2{

/*该学校获奖的项目*/

structnode2*next;

}Items;

intscore;

/*学校总分*/

intboys;

/*男团体总分*/

intgirls;

/*女团体总分*/

Items*firstitem;

/*链域指向链表中第一个获奖项目的结点*/

}SCHNode;

intn;

/*学校总数*/

SCHNodeb[MAX];

}ALLNode;

ALLitems*g1;

ALLNode*g2;

voidfunct1(ALLitems*g1,ALLNode*g2)/*输入各个项目成绩*/

{Schools*p1;

Items*p2;

inti,j,k,m,w,h,x;

p1=(Schools*)malloc(sizeof(Schools));

//添加的……

p2=(Items*)malloc(sizeof(Items));

if(!

p1||!

p2)

exit

(1);

//……添加的

printf("

\n******输入各个项目信息******\n\n"

);

输入男子项目总数m:

"

scanf("

%d"

&

m);

if(m<

0||m>

20)

{printf("

输入有误,m是20以内的整数,请重新输入:

}

输入女子项目总数w:

w);

if(w<

0||w>

{printf("

输入有误,w是20以内的整数,请重新输入:

输入参加运动会的学校总数n:

g2->

n);

if(g2->

n<

0||g2->

n>

输入有误,n是20以内的整数,请重新输入:

g1->

z=m+w;

则项目编号为男子1-%d,女子%d-%d"

m,m+1,g1->

z);

\n\n****记录运动会成绩****"

\n\n(输入0标志结束)\n"

for(k=1;

k<

=g1->

z;

k++)/*对两个邻接表置初态*/

{g1->

a[k].item=k;

a[k].firstschool=NULL;

=g2->

n;

k++)

{g2->

b[k].school=k;

g2->

b[k].firstitem=0;

b[k].score=0;

b[k].boys=0;

b[k].girls=0;

}

b[0].score=0;

b[0].boys=0;

b[0].girls=0;

while(i!

=0)

\n项目:

i);

if(i!

1.前三名2.前五名\n"

请选择:

j);

if(j!

=1&

&

j!

=2)

输入有误,请重新选择:

if(j==1)/*该项目只有前三名时执行此语句*/

{h=3;

do{printf("

第%d名:

学校(学校编号为数字)"

h);

x);

//p1=(Schools*)malloc(sizeof(Schools));

p1->

school=x;

//p2=(Items*)malloc(sizeof(Items));

p2->

item=i;

if(h==3)p2->

record=p1->

record=2;

if(h==2)p2->

record=3;

if(h==1)p2->

record=5;

next=g1->

a[i].firstschool;

a[i].firstschool=p1;

next=g2->

b[x].firstitem;

b[x].firstitem=p2;

b[x].score=g2->

b[x].score+p2->

record;

/*累计总分*/

if(i<

=m)g2->

b[x].boys=g2->

b[x].boys+p2->

/*累计男团体总分*/

elseg2->

b[x].girls=g2->

b[x].girls+p2->

/*累计女团体总分*/

h--;

}while(x!

=0&

h!

=0);

if(j==2)/*该项目有前五名时执行此语句*/

{h=5;

第%d名:

if(h==5)p2->

record=1;

if(h==4)p2->

record=7;

}

voidsave()/*存储数据文件*/

{FILE*fp1,*fp2;

fp1=(FILE*)malloc(sizeof(FILE));

fp2=(FILE*)malloc(sizeof(FILE));

if((fp1=fopen("

sports1"

"

wb"

))==NULL)

cannotopenfile.\n"

return;

if(fwrite(g1,sizeof(ALLitems),1,fp1)!

=1)

filewriteerror.\n"

fclose(fp1);

if((fp2=fopen("

sports2"

if(fwrite(g2,sizeof(ALLNode),1,fp2)!

=1)

fclose(fp2);

voidfunct2(ALLNode*g2)/*输出各学校总分*/

{intk;

\n\n******输出各学校总分******\n"

学校编号\t总分\n"

%d\t\t\t%d\n"

k,g2->

b[k].score);

\n"

system("

pause"

按任意键返回主菜单......"

getchar();

voidfunct3(ALLNode*g2)/*按学校编号排序输出*/

{

intk;

\n\n******按学校编号排序输出******\n"

学校编号\t\t\t获奖情况\n"

k);

//printf("

输入要查询的xuexiao编号:

\t\t\t\t\t\t%d\t"

k);

p2=g2->

b[k].firstitem;

while(p2!

=NULL)

项目%d:

得%d分"

p2->

item,p2->

record);

p2=p2->

next;

按任意键返回主菜单......"

voidfunct4(ALLNode*g2)/*按学校总分排序输出*/

{inti,j,k;

Items*p2;

pri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1