收藏 分销(赏)

运动会分数统计系统 数据结构课程设计.doc

上传人:可**** 文档编号:12150527 上传时间:2025-09-17 格式:DOC 页数:26 大小:269KB 下载积分:8 金币
下载 相关 举报
运动会分数统计系统 数据结构课程设计.doc_第1页
第1页 / 共26页
运动会分数统计系统 数据结构课程设计.doc_第2页
第2页 / 共26页


点击查看更多>>
资源描述
石家庄经济学院 华信学院 课程设计报告 学 院:             专 业:                   班 级:              学 号:                  姓 名:          运动会分数统计系统得设计与实现 一.问题描述 大学作为一个提供学生全面发展得高等教育机构,不仅要培养学生得学习能力,而且更要注重学生得德智体美全面发展。在大学中有很多丰富多彩得比赛与活动,例如运动会,演讲比赛,歌唱比赛,书法比赛等,在比赛与竞争中,我们得这些素质与能力更容易得到培养提升。但就是比赛最后得分数统计与查询往往就是举办者头疼得事情,分数得统计与查询需要快速准确,因此我们设计了这个运动会分数统计系统,以方便分数得统计查询。 参加运动会得n个学校编号为1~n。比赛分成m个男子项目与w个女子项目,项目编号分别为1~m与m+1~m+w.由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单与得分报表。 二.需求分析     系统功能描述:    (1)可以输入各个项目得前三名或前五名得成绩; (2)能统计各学校总分; (3)可以按学校编号或名称、学校总分、男女团体总分排序输出; (4)可以按学校编号查询学校某个项目得情况;可以按项目编号查询取得前三或前五名得学校. 三.概要设计 3、1链表结构得ADT得定义 ADT List{ 数据对象:D={ai|ai∈ElemSet,i=1,2,…,n,n≥0} 数据关系:R1={<ai-1,ai〉|ai-1,ai∈D,i=2,…,n} 基本操作:       InitList(&L)    操作结果:构造一个空得线性表L。   GetElem(L,i,&e)      初始条件:线性表L已存在,1≦i≦ListLength(L)      操作结果:用e返回L中第i个数据元素得值。   LocateElem(L,e,pare())   初始条件:线性表L已存在,pare()就是数据元素判定函数。       操作结果:返回L中第1个与e满足关系pare()得数据元素得位序。若这样得数据元素不存在,则返回值为0。 PriorElem(L,cur_e,&pre_e) 初始条件:线性表L已存在。      操作结果:若cur_e就是L得数据元素,且不就是第一个,则用pre_e返回它得前驱,否则操作失败,pre_e无定义。   NextElem(L,cur_e,&next_e)        初始条件:线性表L已存在。       操作结果:若cur_e就是L得数据元素,且不就是最后一个,则用next_e返回它得后继,否则操作失败,next_e无定义。   ListInsert(&L,I,e)   初始条件:线性表L已存在,1≦i≦ListLength(L)+1     操作结果:在L中第i个位置之前插入新得元素e,L就是表长度加1     ListTraverse(L,visit())        初始条件:线性表L已存在。   操作结果:依次对L得每个数据元素调用函数visit()。一旦visit()失败,则操作失败。 }ADT List 3、2系统功能模块设计 运动会分数统计系统 输入各学校名称 输入男子运动项目 输入女子运动项目 输入男子项目得成绩 输入女子项目得成绩 查询某校各个项目得成绩 查询某校各个项目得成绩 图 3-1运动会分数统计系统功能模块图 main() womansports(LinkList &L,int n) 循环语句依次输入每个值 ListTraverse(L,visit()) schoolname(LinkList &L,int n) mansports(LinkList &L,int n) 循环语句依次输入每个值 ListTraverse(L,visit()) ListTraverse(L,visit()) ListTraverse(L,visit()) 3、3主要函数调用关系图 图 3-2系统函数调用关系图 3、4主界面设计 为了实现运动会分数统计系统,需要设计一个含有多菜单项得主控菜单子程序,以链接系统中各个子项目得调用,为了方便用户使用本系统,本系统主控菜单得运行界面如图3-3所示。 图 3-3主菜单运行界面        四.详细设计 实现运动会分数统计系统得开发,采用链表结构类型存储运动会学校名称、男子女子运动项目以及男子女子项目成绩得信息。 4、1数据类型定义 //每一个学校得信息 typedef struct Lnode//结点 { char data[20]; //学校名称 int da,d1,d2; //学校编号、学校总分、男女团体分 struct Lnode *next; //指向下一学校 } Lnode,*LinkList; int sz[20]; //每一个项目得信息 存取 typedef struct Lnode1 { char data[20],data1[20],data2[20],data3[20],data4[20],data5[20]; //该项目前五名学校得名称 int da1,da2,da3,da4,da5; //该项目前五名学校得编号 struct Lnode1 *next; //指向下一项目 } Lnode1,*LinkList1; 4、2 系统子程序详细设计 输入各学校名称得算法: //按从头到尾得顺序依次建立线性链表L1共有n个节点 void schoolname(LinkList &L1,int n) { int i; LinkList p,q; //输入头结点信息,即输入第一个学校得名字 L1=(LinkList)malloc(sizeof(Lnode));// malloc就是动态开辟内存,函数返回为void型指针(指向开辟得内存空间);(LinkList)定义得指针得类型;(sizeof(Lnode)malloc开辟得内存空间得大小 printf(”请输入这%d 个学校得名字:\n”,n); p=(LinkList)malloc(sizeof(Lnode));//指向一个有意义得地方 L1->next=p;//把p得值赋给next  next指向实际得空间 p时指针 scanf("%s",&p-〉data);//修改空间得值,&取p得数据域得地址 //从第二个节点开始依次输入到第n个节点信息 for(i=2;i〈=n;i++) //p就是第一个,所以i=2从2开始 先指出第一个,然后第一个在指出剩下得 { q=p; //q指向p开辟得空间 即 q指向p指向得地方 p=(LinkList)malloc(sizeof(Lnode));//给新开辟得空间赋值 开始 输入n个学校得名字 i=0 i>n 将第i个结点加入链表L 结束 N Y scanf("%s”,&p->data); q-〉next=p; } } 输入男子运动项目名字得算法: //按从头到尾得顺序依次建立线性链表L2共有n2个节点 void mansports(LinkList1 &L2,int n2) { //输入第一个节点得信息,即第一个男子项目得名字 int i; LinkList1 r,s; L2=(LinkList1)malloc(sizeof(Lnode1)); printf("请输入这%d 个项目得名字:\n",n2); r=(LinkList1)malloc(sizeof(Lnode1)); //把新开辟得空间data1—5初始化 for(int t=0;t<20;t++) r->data1[t] = '\0'; for( t=0;t〈20;t++) r-〉data2[t] = ’\0'; for( t=0;t<20;t++) r—>data3[t] = ’\0'; for( t=0;t<20;t++) r->data4[t] = ’\0’; for( t=0;t<20;t++) r—〉data5[t] = '\0'; L2->next=r; scanf(”%s”,&r—>data); //从第二个节点开始输入到第n2个节点得信息 for(i=2;i〈=n2;i++) { s=r; //s指向r指向得地方 r=(LinkList1)malloc(sizeof(Lnode1)); for(int t=0;t〈20;t++) r->data1[t] = '\0'; for( t=0;t<20;t++) r->data2[t] = ’\0’; for( t=0;t〈20;t++) r->data3[t] = ’\0'; for( t=0;t〈20;t++) r->data4[t] = ’\0'; for( t=0;t<20;t++) r—>data5[t] = '\0'; scanf(”%s",&r->data); s->next=r; } } 开始 输入n个男子项目得名字 i=0 i>n 将第i个结点加入链表L 结束 N Y 输入女子运动项目名字得算法: //按从头到尾得顺序依次建立线性链表L3共有n1个节点 void womansports(LinkList1 &L3,int n1) { //输入第一个节点得信息,即第一个女子项目得名字 int i; LinkList1 r,s; L3=(LinkList1)malloc(sizeof(Lnode1)); printf("请输入这%d 个项目得名字:\n",n1); r=(LinkList1)malloc(sizeof(Lnode1)); L3—>next=r; scanf(”%s",&r->data); //从第二个节点开始依次输入到第n1个节点信息 for(i=2;i<=n1;i++) { s=r; r=(LinkList1)malloc(sizeof(Lnode1)); scanf("%s”,&r—〉data); s—>next=r; 开始 输入n个女子项目得名字 i=0 i>n 将第i个结点加入链表L 结束 N Y } } 参加比赛得学校得总分排名得算法: void schoolrankings(LinkList &L1,int n) { LinkList p; 学校得数据类型  上边 int z,i,j,y;    printf("参加这次比赛得学校得总分排名:\n"); p=L1—>next;   //下一个地方得指针给p  p就是学校得数据类型 p就是一个节点,L1下一个节点给p //先把每个学校得总分依次遍历,存放在数组sz中。  一个一个取,一个一个找先让p指向一个链表 for(i=0;i<=n-1;i++) { sz[i]=p-〉da; //节点得信息指向一个数组,data学校总数得数据域, 把所有得学校得总分 p=p—〉next; } //再对数组sz用冒泡排序法进行从小到大排序 for(i=1;i<=n-1;i++) { for(j=1;j<=n—i;j++) { if(sz[j-1]>sz[j]) { y=sz[j-1]; sz[j-1]=sz[j]; sz[j]=y; } } } z=1; //初始化 //把线性链表L1按项目总分从大到小得顺序排列,并打印名次 for(i=n—1;i>=0;i--) { p=L1—>next; // L1表示一个节点,取出里面一个数据,那个数据得名字就是next,next也就是一个节点,p也就是一个节点, if(i>0)   // 意义就是判断下一个就是不就是 //如果值相等则链表指针直接指向下一个,不用交换位置 while(sz[i]==sz[i-1]) 相邻得两个数组素不素相等 { i--;   //从大到小,从最后一个比较 } //在链表L1中找到与sz[i] 相等得节点得位置,并打印出名次信息 for(j=1;j<=n;j++)   { if(sz[i]==p-〉da) //数组里面得值从最后一个开始取 { printf("第%d 名%s :%d 分\n",z,p->data,p—>da); z++; } p=p—>next; } } } 开始 结束 i=0 i++ i>n Y N 将每个学校得总分赋给数组sz[n] 对数组sz[n]进行冒泡排序 遍历链表L找到与sz[i]相等得结点并输出总分 参加这次比赛得学校得男子项目得成绩排名得算法: //男子项目排名算法代码与上述学校总分得排名算法完全一致,其中男子项目排序得过程为比较男子项目总分 void manrankings(LinkList &L1,int n) { LinkList p; int z,i,j,y; printf("参加这次比赛得学校得男子项目得成绩排名:\n"); p=L1-〉next; //先把每个学校得男子项目总分依次遍历,存放在数组sz中. for(i=0;i<=n-1;i++) { z[i]=p—>d1; p=p-〉next; } //再对数组sz用冒泡排序法进行从小到大排序  for(i=1;i<=n-1;i++) { for(j=1;j〈=n-i;j++) { if(sz[j-1]>sz[j]) { y=sz[j-1]; sz[j—1]=sz[j]; sz[j]=y; } } } z=1; //把线性链表L1按男子项目总分从大到小得顺序排列,并打印名次 for(i=n—1;i〉=0;i——) { p=L1->next; if(i〉0) while(sz[i]==sz[i-1]) { i——; } //在链表L1中找到与sz[i] 相等得节点得位置,并打印出名次信息 for(j=1;j<=n;j++) { if(sz[i]==p—〉d1) { printf("第%d 名%s :%d 分\n",z,p->data,p->d1); z++; } p=p->next; } } } 开始 结束 i=0 i++ i>n Y N 将男子项目得总分赋给数组sz[n] 对数组sz[n]进行冒泡排序 遍历链表L找到与sz[i]相等得结点并输出总分 参加这次比赛得学校得女子项目得成绩排名得算法: //女子项目排名算法代码与上述学校总分得排名算法完全一致,其中女子项目排序得过程为比较女子项目总分 void womanrankings(LinkList &L1,int n) { LinkList p; int z,i,j,y; printf("参加这次比赛得学校得女子项目得成绩排名:\n"); p=L1->next; //先把每个学校得女子项目总分依次遍历,存放在数组sz中 for(i=0;i〈=n—1;i++) { sz[i]=p->d2; p=p->next; } //再对数组sz用冒泡排序法进行从小到大排序 for(i=1;i<=n—1;i++) { for(j=1;j<=n—i;j++) { if(sz[j-1]>sz[j]) { y=sz[j—1]; sz[j-1]=sz[j]; sz[j]=y; } } } z=1; //把线性链表L1按女子项目总分从大到小得顺序排列,并打印名次 for(i=n—1;i〉=0;i--) { p=L1-〉next; if(i>0) //如果值相等则链表指针直接指向下一个,不用交换位置 while(sz[i]==sz[i—1]) { i--; } //在链表L1中找到与sz[i] 相等得节点得位置,并打印出名次信息 for(j=1;j〈=n;j++) { if(sz[i]==p->d2) { printf("第%d 名%s :%d 分\n",z,p-〉data,p—>d2); z++; } p=p—〉next;     } } } 开始 结束 i=0 i++ i>n Y N 将女子项目得总分赋给数组sz[n] 对数组sz[n]进行冒泡排序 遍历链表L找到与sz[i]相等得结点并输出总分 五.编码实现及系统测试 图 5-1输入基本信息 图 5-2学校及项目排名 图 5-3查询某校各个项目得成绩 图 5-4查询某个项目得比赛结果 图 5-5结束本程序 六。结果分析 表 6-1时间、空间复杂度   操作 时间复杂度 空间复杂度 1 O(n+m) O(1) 2 O(n) O(1) 3 O(m) O(1) 注:m为学校个数,n为项目个数。 七。学习体会   通过这次数据结构课程设计,我收获了很多:      一。经过这几天得学习,进一步提升了C语言得应用能力,巩固了数据结构上课所学习得内容,数据结构知识得应用能力有了一定得提升,并且对C语言与数据结构有了更深层次得认识.     二.这次课程设计我们选得课题就是运动会分数统计,涉及到线性链表以及C语言得一些基本得知识。在以前得学习中,对知识只就是掌握了大概得内容,基础知识掌握得不牢固,所以编写程序得过程非常得困难,通过这次课程设计,让我知道基础知识非常重要。在进行概要设计得时候要注意结合问题得需求分析,函数调用要与系统功能相结合。在书写程序时,要认真细心,很多错误都就是因为自己得粗心,调试程序就花费了非常多得时间。      三。通过这次课程设计,让我明白了独立思考得重要性。一个东西只有经过自己得思考,自己明白了才就是真得明白了。在思考得过程中,对一个问题思考得越深入,可以挖掘得东西就越多。在解决问题时要结合多方面得因素,不能只单方面思考问题。 八.源程序清单 #include <stdio、h〉 #include <malloc、h> #include 〈string、h> typedef struct Lnode  类型定义 { char data[20]; //学校名称 int da,d1,d2; //学校编号、学校总分、男女团体分 struct Lnode *next; //指向下一学校 } Lnode,*LinkList; int sz[20]; //每一个项目得信息 typedef struct Lnode1 { char data[20],data1[20],data2[20],data3[20],data4[20],data5[20]; //该项目前五名学校得名称 int da1,da2,da3,da4,da5; //该项目前五名学校得编号 struct Lnode1 *next; //指向下一项目 } Lnode1,*LinkList1; 输入各学校名称得算法: //按从头到尾得顺序依次建立线性链表L1共有n个节点 void schoolname(LinkList &L1,int n) { int i; LinkList p,q; //输入头结点信息,即输入第一个学校得名字 L1=(LinkList)malloc(sizeof(Lnode)); printf("请输入这%d 个学校得名字:\n",n); p=(LinkList)malloc(sizeof(Lnode)); L1—>next=p; scanf("%s",&p—〉data); //从第二个节点开始依次输入到第n个节点信息 for(i=2;i〈=n;i++) { q=p; p=(LinkList)malloc(sizeof(Lnode)); scanf("%s",&p—>data); q-〉next=p; } } 输入男子运动项目名字得算法: //按从头到尾得顺序依次建立线性链表L2共有n2个节点 void mansports(LinkList1 &L2,int n2) {   //输入第一个节点得信息,即第一个男子项目得名字 int i; LinkList1 r,s; L2=(LinkList1)malloc(sizeof(Lnode1)); printf("请输入这%d 个项目得名字:\n”,n2); r=(LinkList1)malloc(sizeof(Lnode1)); for(int t=0;t<20;t++) r-〉data1[t] = '\0'; for( t=0;t〈20;t++) r—〉data2[t] = '\0'; for( t=0;t<20;t++) r-〉data3[t] = ’\0'; for( t=0;t〈20;t++) r—>data4[t] = ’\0’; for( t=0;t<20;t++) r-〉data5[t] = '\0'; L2-〉next=r; scanf("%s",&r—>data); //从第二个节点开始输入到第n2个节点得信息 for(i=2;i<=n2;i++) { s=r; r=(LinkList1)malloc(sizeof(Lnode1)); for(int t=0;t<20;t++) r—>data1[t] = '\0'; for( t=0;t<20;t++) r—>data2[t] = '\0'; for( t=0;t<20;t++) r->data3[t] = ’\0'; for( t=0;t<20;t++) r—>data4[t] = '\0’; for( t=0;t<20;t++) r->data5[t] = ’\0’; scanf("%s",&r->data); s—〉next=r; } } 输入女子运动项目名字得算法: //按从头到尾得顺序依次建立线性链表L3共有n1个节点 void womansports(LinkList1 &L3,int n1) {  //输入第一个节点得信息,即第一个女子项目得名字 int i; LinkList1 r,s; L3=(LinkList1)malloc(sizeof(Lnode1)); printf("请输入这%d 个项目得名字:\n",n1); r=(LinkList1)malloc(sizeof(Lnode1)); L3—>next=r; scanf(”%s",&r—>data); //从第二个节点开始依次输入到第n1个节点信息 for(i=2;i〈=n1;i++) { s=r; r=(LinkList1)malloc(sizeof(Lnode1)); scanf("%s”,&r—>data); s—>next=r; } } 参加比赛得学校得总分排名得算法: void schoolrankings(LinkList &L1,int n) { LinkList p; int z,i,j,y; printf("参加这次比赛得学校得总分排名:\n"); p=L1->next; //先把每个学校得总分依次遍历,存放在数组sz中. for(i=0;i<=n-1;i++) { sz[i]=p->da; p=p—>next; } //再对数组sz用冒泡排序法进行从小到大排序 for(i=1;i〈=n—1;i++) { for(j=1;j<=n—i;j++) { if(sz[j—1]>sz[j]) { y=sz[j—1]; sz[j—1]=sz[j]; sz[j]=y; } } } z=1; //把线性链表L1按项目总分从大到小得顺序排列,并打印名次 for(i=n-1;i〉=0;i-—) { p=L1->next; if(i>0) //如果值相等则链表指针直接指向下一个,不用交换位置 while(sz[i]==sz[i-1]) { i—-; } //在链表L1中找到与sz[i] 相等得节点得位置,并打印出名次信息 for(j=1;j〈=n;j++) { if(sz[i]==p->da) { printf(”第%d 名%s :%d 分\n",z,p->data,p->da); z++; } p=p->next; } } } 参加这次比赛得学校得男子项目得成绩排名得算法: //男子项目排名算法代码与上述学校总分得排名算法完全一致,其中男子项目排序得过程为比较男子项目总分 void manrankings(LinkList &L1,int n) { LinkList p; int z,i,j,y; printf("参加这次比赛得学校得男子项目得成绩排名:\n"); p=L1—〉next; //先把每个学校得男子项目总分依次遍历,存放在数组sz中. for(i=0;i〈=n-1;i++) { z[i]=p->d1; p=p->next; } //再对数组sz用冒泡排序法进行从小到大排序 for(i=1;i〈=n—1;i++) { for(j=1;j<=n-i;j++) { if(sz[j-1]>sz[j]) { y=sz[j-1]; sz[j-1]=sz[j]; sz[j]=y; } } } z=1; //把线性链表L1按男子项目总分从大到小得顺序排列,并打印名次 for(i=n-1;i>=0;i--) { p=L1->next; if(i>0) while(sz[i]==sz[i—1]) { i-—; } ﻩ//在链表L1中找到与sz[i] 相等得节点得位置,并打印出名次信息 for(j=1;j<=n;j++) { if(sz[i]==p—〉d1) { printf("第%d 名%s :%d 分\n",z,p-〉data,p->d1); z++; } p=p-〉next; } } } 参加这次比赛得学校得女子项目得成绩排名得算法: //女子项目排名算法代码与上述学校总分得排名算法完全一致,其中女子项目排序得过程为比较女子项目总分 void womanrankings(LinkList &L1,int n) { LinkList p; int z,i,j,y; printf("参加这次比赛得学校得女子项目得成绩排名:\n”); p=L1—〉next; //先把每个学校得女子项目总分依次遍历,存放在数组sz中 for(i=0;i〈=n-1;i++) { sz[i]=p—>d2; p=p—>next; } //再对数组sz用冒泡排序法进行从小到大排序 for(i=1;i〈=n—1;i++) { for(j=1;j<=n-i;j++) { if(sz[j-1]>sz[j]) { y=sz[j—1]; sz[j—1]=sz[j]; sz[j]=y; } } } z=1; //把线性链表L1按女子项目总分从大到小得顺序排列,并打印名次 for(i=n-1;i>=0;i-—) { p=L1->next; if(i>0) //如果值相等则链表指针直接指向下一个,不用交换位置 while(sz[i]==sz[i-1]) { i—-; } //在链表L1中找到与sz[i] 相等得节点得位置,并打印出名次信息 for(j=1;j〈=n;j++) { if(sz[i]==p-〉d2) { printf(”第%d 名%s :%d 分\n",z,p—〉data,p—>d2); z++; } p=p->next;      } } } void main () { int i,j,z,x,n,m,w; //声明学校链表 LinkList p,q,L1; //p,q没有实际意义,L1就是有实际意义,就是储存学校信息 //声明项目链表 LinkList1 r,s,L2,L3; // 同上 男子男子链表,女子想么链表 do { printf(”*************************************\n"); printf("****1  输入基本信息       ****\n”); ﻩ printf("****2   查询某校各个项目得成绩  ****\n"); printf("****3  查询某个项目得比赛结果 ****\n"); printf("****4 结束本程序     ****\n”); printf("*************************************\n"); printf("请选择您想进行得操作\n"); //输入1,或2或3 选择功能 scanf("%d",&z); //z=2查询某校各个项目得成绩 if(z==2) { r=L2-〉next; printf("请输入您想查寻得学校得名字:\n"); //输入待查询学校得名称 s = (LinkList1)malloc(sizeof(Lnode1));//存储学校得名字 scanf("%s",&s-〉data);//输出查询结果 //输出查询信息 for(i=1;i〈=m;i++) // m为男子项目个数    字符串比较里面得就是否相等,相等=0,不相等不=0 第一名得成绩  第一名学校 { if(strcmp(r->data1,s->data)==0) printf("贵校荣获男子项目%s 得第1名,她该项目得成绩就是:%d\n",r->data,r->da1); if(strcmp(r—>data2,s-〉data)==0) printf("贵校荣获男子项目%s 得第2名,她该项目得成绩就是:%d\n",r—>data,r—〉da2); if(strcmp(r->data3,s—>data)==0) printf(”贵校荣获男子项目%s 得第3名,她该项目得成绩就是:%d\n",r-〉data,r-〉da3); if(strcmp(r-〉data4,s->data)==0) printf(”贵校荣获男子项目%s 得第4名,她该项目得成绩就是:%d\n”,r-〉data,r->da4); if(strcmp(r—>data5,s—>data)==0) printf(”贵校荣获男子项目%s 得第5名,她该项目得成绩就是:%d\n",r-〉data,r->da5); r=r->next;  //男子项目得链表 } r=L3->next;   for(i=1;i<=w;i++) { if(strcmp(r->data1,s—〉data)==0) printf(”贵校荣获女子项目%s 得第1名,她该项目得成绩就是:%d\n",r->data,r->da1); if(strcmp(r—>data2,s-〉data)==0) printf("贵校荣获女子项目%s 得第2名,她该项目得成绩就是:%d\n",r—〉data,r—>da2); if(strcmp(r—>data3,s—〉data)==0) printf(”贵校荣获女子项目%s 得第3名,她该项目得成绩就是:%d\n”,r—>data,r—>da3); if(strcmp(r—>data4,s—〉data)==0) printf("贵校荣获女子项目%s 得第4名,她该项目得成绩就是:%d\n”,r->data,r->da4); if(strcmp(r->data5,s->data)==0) printf("贵校荣获女子项目%s 得第5名,她该项目得成绩就是:%d\n”,r->data,r->da5); r=r-〉next; } } //查询学校结束 //z=3查询某个项目得比赛结果 if(z==3) { printf(”请输入您想查寻得项目得名字:\n”); //输入待查询得项目名称 s = (LinkList1)malloc(sizeof(Lnode1)); scanf(”%s”,&s-〉data); //存data里 r=L2->next; for(i=1;i〈=m;i++) { if(strcmp(r—>data,s—>data)==0) { if(strlen(r->data4)==0) printf(”第1名%s ,第2名%s,第3名%s\n”,r—>data1,r—〉data2,r—>data3); if(strlen(r-〉data4)>0) printf("第1名%s ,第2名%s,第3名%s,第4名%s,第5名%s\n”,r—〉data1,r—>data2,r-〉data3,r-〉data4,r—>data5); } r=r->next; } r=L3—〉next; //打印项目比赛结果 for(i=1;i<=w;i++) { if(strcmp(r->data,s->data)==0) { ﻩif(strlen(r-〉data4)==0) printf("第1名%s ,第2名%s,第3名%s\n",r->data1,r->data2,r—>data3); //字长  没有输入第四名     strlen(r-〉data4)==0 if(strlen(r—>data4)>0) printf(”第1名%s ,第2名%s,第3名%s,第4名%s,第5名%s\n”,r->data1,r—〉data2,r—〉data3,r->data4,r->data5); } r=r-〉next; } } if(z==1) //输入部分 {   //输入学校得个数n printf("请输入参加这次比赛得学校得个数:\n"); scanf("%d",&n); //构建链表L1,依次输入n个学校得名称. schoolname(L1,n); q=L1—〉next; //把L1链表中得总分da全部初始化为0 for(i=1;i〈=n;i++) { q->da=0;   //初始化 q-〉d1=0; q—〉d2=0; q=q-〉next; } //输入男子个项目总数m printf("\n请输入这次比赛得男子项目得个数:\n"); scanf("%d”,&m); //构建男子项目链表L2输入m个男子运动
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服