九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

運動會分數統(tǒng)計系統(tǒng) 大數據結構課程設計

  • 資源ID:86512861       資源大?。?span id="24d9guoke414" class="font-tahoma">261.50KB        全文頁數:34頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

運動會分數統(tǒng)計系統(tǒng) 大數據結構課程設計

經濟學院華信學院課程設計報告學院:專業(yè):班級:學號:某某:運動會分數統(tǒng)計系統(tǒng)的設計與實現(xiàn)一問題描述大學作為一個提供學生全面開展的高等教育機構,不僅要培養(yǎng)學生的學習能力,而且更要注重學生的德智體美全面開展。在大學中有很多豐富多彩的比賽和活動,例如運動會,演講比賽,歌唱比賽,書法比賽等,在比賽和競爭中,我們的這些素質和能力更容易得到培養(yǎng)提升。但是比賽最后的分數統(tǒng)計和查詢往往是舉辦者頭疼的事情,分數的統(tǒng)計和查詢需要快速準確,因此我們設計了這個運動會分數統(tǒng)計系統(tǒng),以方便分數的統(tǒng)計查詢。參加運動會的n個學校編號為1n。比賽分成m個男子項目和w個女子項目,項目編號分別為1m和m+1m+w。由于各項目參加人數差異較大,有些項目取前五名,得分順序為7,5,3,2,1;還有些項目只取前三名,得分順序為5,3,2。寫一個統(tǒng)計程序產生各種成績單和得分報表。二需求分析系統(tǒng)功能描述: (1)可以輸入各個項目的前三名或前五名的成績;(2)能統(tǒng)計各學校總分;(3)可以按學校編號或名稱、學??偡?、男女團體總分排序輸出;(4)可以按學校編號查詢學校某個項目的情況;可以按項目編號查詢取得前三或前五名的學校。三概要設計ADT List 數據對象:D=ai|aiElemSet,i=1,2,n,n0 數據關系:R1=<ai-1,ai>|ai-1,aiD,i=2,n 根本操作: InitList(&L)操作結果:構造一個空的線性表L。 GetElem(L,i,&e) 初始條件:線性表L已存在,1iListLength(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已存在,1iListLength(L)+1操作結果:在L中第i個位置之前插入新的元素e,L是表長度加1ListTraverse(L,visit()初始條件:線性表L已存在。 操作結果:依次對L的每個數據元素調用函數visit()。一旦visit()失敗,如此操作失敗。ADT List運動會分數統(tǒng)計系統(tǒng)輸入各學校名稱輸入男子運動項目 輸入女子運動項目輸入男子項目的成績輸入女子項目的成績查詢某校各個項目的成績查詢某校各個項目的成績圖 3-1運動會分數統(tǒng)計系統(tǒng)功能模塊圖 main()womansports(LinkList &L,int n) 循環(huán)語句依次輸入每個值 ListTraverse(L,visit() schoolname(LinkList &L,int n) mansports(LinkList &L,int n) 循環(huán)語句依次輸入每個值 ListTraverse(L,visit() ListTraverse(L,visit() ListTraverse(L,visit() 圖 3-2系統(tǒng)函數調用關系圖為了實現(xiàn)運動會分數統(tǒng)計系統(tǒng),需要設計一個含有多菜單項的主控菜單子程序,以系統(tǒng)中各個子項目的調用,為了方便用戶使用本系統(tǒng),本系統(tǒng)主控菜單的運行界面如圖3-3所示。圖 3-3主菜單運行界面四詳細設計實現(xiàn)運動會分數統(tǒng)計系統(tǒng)的開發(fā),采用鏈表結構類型存儲運動會學校名稱、男子女子運動項目以與男子女子項目成績的信息。/每一個學校的信息typedef struct Lnode/結點char data20;/學校名稱int da,d1,d2; /學校編號、學??偡?、男女團體分struct Lnode *next;/指向下一學校 Lnode,*LinkList;int sz20;/每一個項目的信息 存取typedef struct Lnode1char data20,data120,data220,data320,data420,data520;/該項目前五名學校的名稱int da1,da2,da3,da4,da5;/該項目前五名學校的編號struct Lnode1 *next;/指向下一項目 Lnode1,*LinkList1;4.2 系統(tǒng)子程序詳細設計輸入各學校名稱的算法:/按從頭到尾的順序依次建立線性鏈表L1共有n個節(jié)點void schoolname(LinkList &L1,int n)int i;LinkList p,q;/輸入頭結點信息,即輸入第一個學校的名字L1=(LinkList)malloc(sizeof(Lnode);/malloc是動態(tài)開辟存,函數返回為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的數據域的地址/從第二個節(jié)點開始依次輸入到第n個節(jié)點信息for(i=2;i<=n;i+) /p是第一個,所以i=2從2開始 先指出第一個,然后第一個在指出剩下的q=p;/q指向p開辟的空間 即 q指向p指向的地方p=(LinkList)malloc(sizeof(Lnode);/給新開辟的空間賦值開始輸入n個學校的名字i=0i>n將第i個結點參加鏈表L完畢NYscanf("%s",&p->data);q->next=p;輸入男子運動項目名字的算法:/按從頭到尾的順序依次建立線性鏈表L2共有n2個節(jié)點void mansports(LinkList1 &L2,int n2)/輸入第一個節(jié)點的信息,即第一個男子項目的名字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->data1t = '0'for( t=0;t<20;t+)r->data2t = '0'for( t=0;t<20;t+)r->data3t = '0'for( t=0;t<20;t+)r->data4t = '0'for( t=0;t<20;t+)r->data5t = '0'L2->next=r;scanf("%s",&r->data);/從第二個節(jié)點開始輸入到第n2個節(jié)點的信息for(i=2;i<=n2;i+)s=r;/s指向r指向的地方r=(LinkList1)malloc(sizeof(Lnode1);for(int t=0;t<20;t+)r->data1t = '0'for( t=0;t<20;t+)r->data2t = '0'for( t=0;t<20;t+)r->data3t = '0'for( t=0;t<20;t+)r->data4t = '0'for( t=0;t<20;t+)r->data5t = '0'scanf("%s",&r->data);s->next=r;開始輸入n個男子項目的名字i=0i>n將第i個結點參加鏈表L完畢NY輸入女子運動項目名字的算法:/按從頭到尾的順序依次建立線性鏈表L3共有n1個節(jié)點void womansports(LinkList1 &L3,int n1)/輸入第一個節(jié)點的信息,即第一個女子項目的名字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);/從第二個節(jié)點開始依次輸入到第n1個節(jié)點信息for(i=2;i<=n1;i+)s=r;r=(LinkList1)malloc(sizeof(Lnode1);scanf("%s",&r->data);s->next=r;開始輸入n個女子項目的名字i=0i>n將第i個結點參加鏈表L完畢NY參加比賽的學校的總分排名的算法:void schoolrankings(LinkList &L1,int n)LinkList p; 學校的數據類型 上邊int z,i,j,y;printf("參加這次比賽的學校的總分排名:n");p=L1->next;/下一個地方的指針給p p是學校的數據類型 p是一個節(jié)點,L1下一個節(jié)點給p/先把每個學校的總分依次遍歷,存放在數組sz中。 一個一個取,一個一個找先讓p指向一個鏈表for(i=0;i<=n-1;i+)szi=p->da;/節(jié)點的信息指向一個數組,data學??倲档臄祿?, 把所有的學校的總分p=p->next;/再對數組sz用冒泡排序法進展從小到大排序for(i=1;i<=n-1;i+)for(j=1;j<=n-i;j+)if(szj-1>szj)y=szj-1;szj-1=szj;szj=y;z=1; /初始化/把線性鏈表L1按項目總分從大到小的順序排列,并打印名次for(i=n-1;i>=0;i-)p=L1->next; / L1表示一個節(jié)點,取出里面一個數據,那個數據的名字是next,next也是一個節(jié)點,p也是一個節(jié)點,if(i>0)/ 意義是判斷下一個是不是/如果值相等如此鏈表指針直接指向下一個,不用交換位置while(szi=szi-1) 相鄰的兩個數組素不素相等i-; /從大到小,從最后一個比擬/在鏈表L1中找到與szi 相等的節(jié)點的位置,并打印知名次信息for(j=1;j<=n;j+)if(szi=p->da)/數組里面的值從最后一個開始取 printf("第%d 名%s :%d 分n",z,p->data,p->da);z+;p=p->next;開始完畢i=0i+i>nYN將每個學校的總分賦給數組szn對數組szn進展冒泡排序遍歷鏈表L找到與szi相等的結點并輸出總分參加這次比賽的學校的男子項目的成績排名的算法:/男子項目排名算法代碼與上述學校總分的排名算法完全一致,其中男子項目排序的過程為比擬男子項目總分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+)zi=p->d1;p=p->next;/再對數組sz用冒泡排序法進展從小到大排序for(i=1;i<=n-1;i+)for(j=1;j<=n-i;j+)if(szj-1>szj)y=szj-1;szj-1=szj;szj=y;z=1;/把線性鏈表L1按男子項目總分從大到小的順序排列,并打印名次for(i=n-1;i>=0;i-)p=L1->next;if(i>0)while(szi=szi-1)i-;/在鏈表L1中找到與szi 相等的節(jié)點的位置,并打印知名次信息for(j=1;j<=n;j+)if(szi=p->d1)printf("第%d 名%s :%d 分n",z,p->data,p->d1);z+;p=p->next;開始完畢i=0i+i>nYN將男子項目的總分賦給數組szn對數組szn進展冒泡排序遍歷鏈表L找到與szi相等的結點并輸出總分參加這次比賽的學校的女子項目的成績排名的算法:/女子項目排名算法代碼與上述學校總分的排名算法完全一致,其中女子項目排序的過程為比擬女子項目總分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+)szi=p->d2;p=p->next;/再對數組sz用冒泡排序法進展從小到大排序for(i=1;i<=n-1;i+)for(j=1;j<=n-i;j+)if(szj-1>szj)y=szj-1;szj-1=szj;szj=y;z=1;/把線性鏈表L1按女子項目總分從大到小的順序排列,并打印名次for(i=n-1;i>=0;i-)p=L1->next;if(i>0)/如果值相等如此鏈表指針直接指向下一個,不用交換位置while(szi=szi-1)i-;/在鏈表L1中找到與szi 相等的節(jié)點的位置,并打印知名次信息for(j=1;j<=n;j+)if(szi=p->d2)printf("第%d 名%s :%d 分n",z,p->data,p->d2);z+;p=p->next; 開始完畢i=0i+i>nYN將女子項目的總分賦給數組szn對數組szn進展冒泡排序遍歷鏈表L找到與szi相等的結點并輸出總分五編碼實現(xiàn)與系統(tǒng)測試圖 5-1輸入根本信息圖 5-2學校與項目排名圖 5-3查詢某校各個項目的成績圖 5-4查詢某個項目的比賽結果圖 5-5完畢本程序六結果分析表 6-1時間、空間復雜度操作時間復雜度空間復雜度1O(n+m)O(1)2O(n)O(1)3O(m)O(1)注:m為學校個數,n為項目個數。七學習體會通過這次數據結構課程設計,我收獲了很多: 一經過這幾天的學習,進一步提升了C語言的應用能力,鞏固了數據結構上課所學習的容,數據結構知識的應用能力有了一定的提升,并且對C語言和數據結構有了更深層次的認識。 二這次課程設計我們選的課題是運動會分數統(tǒng)計,涉與到線性鏈表以與C語言的一些根本的知識。在以前的學習中,對知識只是掌握了大概的容,根底知識掌握的不結實,所以編寫程序的過程非常的困難,通過這次課程設計,讓我知道根底知識非常重要。在進展概要設計的時候要注意結合問題的需求分析,函數調用要和系統(tǒng)功能相結合。在書寫程序時,要認真細心,很多錯誤都是因為自己的粗心,調試程序就花費了非常多的時間。 三通過這次課程設計,讓我明白了獨立思考的重要性。一個東西只有經過自己的思考,自己明白了才是真的明白了。在思考的過程中,對一個問題思考的越深入,可以挖掘的東西就越多。在解決問題時要結合多方面的因素,不能只單方面思考問題。八源程序清單#include <stdio.h>#include <malloc.h>#include <string.h>typedef struct Lnode 類型定義char data20;/學校名稱int da,d1,d2; /學校編號、學??偡?、男女團體分struct Lnode *next;/指向下一學校 Lnode,*LinkList;int sz20;/每一個項目的信息typedef struct Lnode1char data20,data120,data220,data320,data420,data520;/該項目前五名學校的名稱int da1,da2,da3,da4,da5;/該項目前五名學校的編號struct Lnode1 *next;/指向下一項目 Lnode1,*LinkList1;輸入各學校名稱的算法:/按從頭到尾的順序依次建立線性鏈表L1共有n個節(jié)點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);/從第二個節(jié)點開始依次輸入到第n個節(jié)點信息for(i=2;i<=n;i+)q=p;p=(LinkList)malloc(sizeof(Lnode);scanf("%s",&p->data);q->next=p;輸入男子運動項目名字的算法:/按從頭到尾的順序依次建立線性鏈表L2共有n2個節(jié)點void mansports(LinkList1 &L2,int n2)/輸入第一個節(jié)點的信息,即第一個男子項目的名字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->data1t = '0'for( t=0;t<20;t+)r->data2t = '0'for( t=0;t<20;t+)r->data3t = '0'for( t=0;t<20;t+)r->data4t = '0'for( t=0;t<20;t+)r->data5t = '0'L2->next=r;scanf("%s",&r->data);/從第二個節(jié)點開始輸入到第n2個節(jié)點的信息for(i=2;i<=n2;i+)s=r;r=(LinkList1)malloc(sizeof(Lnode1);for(int t=0;t<20;t+)r->data1t = '0'for( t=0;t<20;t+)r->data2t = '0'for( t=0;t<20;t+)r->data3t = '0'for( t=0;t<20;t+)r->data4t = '0'for( t=0;t<20;t+)r->data5t = '0'scanf("%s",&r->data);s->next=r;輸入女子運動項目名字的算法:/按從頭到尾的順序依次建立線性鏈表L3共有n1個節(jié)點void womansports(LinkList1 &L3,int n1)/輸入第一個節(jié)點的信息,即第一個女子項目的名字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);/從第二個節(jié)點開始依次輸入到第n1個節(jié)點信息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+)szi=p->da;p=p->next;/再對數組sz用冒泡排序法進展從小到大排序for(i=1;i<=n-1;i+)for(j=1;j<=n-i;j+)if(szj-1>szj)y=szj-1;szj-1=szj;szj=y;z=1;/把線性鏈表L1按項目總分從大到小的順序排列,并打印名次for(i=n-1;i>=0;i-)p=L1->next;if(i>0)/如果值相等如此鏈表指針直接指向下一個,不用交換位置while(szi=szi-1)i-;/在鏈表L1中找到與szi 相等的節(jié)點的位置,并打印知名次信息for(j=1;j<=n;j+)if(szi=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+)zi=p->d1;p=p->next;/再對數組sz用冒泡排序法進展從小到大排序for(i=1;i<=n-1;i+)for(j=1;j<=n-i;j+)if(szj-1>szj)y=szj-1;szj-1=szj;szj=y;z=1;/把線性鏈表L1按男子項目總分從大到小的順序排列,并打印名次for(i=n-1;i>=0;i-)p=L1->next;if(i>0)while(szi=szi-1)i-;/在鏈表L1中找到與szi 相等的節(jié)點的位置,并打印知名次信息for(j=1;j<=n;j+)if(szi=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+)szi=p->d2;p=p->next;/再對數組sz用冒泡排序法進展從小到大排序for(i=1;i<=n-1;i+)for(j=1;j<=n-i;j+)if(szj-1>szj)y=szj-1;szj-1=szj;szj=y;z=1;/把線性鏈表L1按女子項目總分從大到小的順序排列,并打印名次for(i=n-1;i>=0;i-)p=L1->next;if(i>0)/如果值相等如此鏈表指針直接指向下一個,不用交換位置while(szi=szi-1)i-;/在鏈表L1中找到與szi 相等的節(jié)點的位置,并打印知名次信息for(j=1;j<=n;j+)if(szi=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; / 同上 男子男子鏈表,女子想么鏈表doprintf("*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名,他該項目的成績是:%dn",r->data,r->da1);if(strcmp(r->data2,s->data)=0) printf("貴校榮獲男子項目%s 的第2名,他該項目的成績是:%dn",r->data,r->da2);if(strcmp(r->data3,s->data)=0) printf("貴校榮獲男子項目%s 的第3名,他該項目的成績是:%dn",r->data,r->da3);if(strcmp(r->data4,s->data)=0) printf("貴校榮獲男子項目%s 的第4名,他該項目的成績是:%dn",r->data,r->da4);if(strcmp(r->data5,s->data)=0) printf("貴校榮獲男子項目%s 的第5名,他該項目的成績是:%dn",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名,她該項目的成績是:%dn",r->data,r->da1);if(strcmp(r->data2,s->data)=0) printf("貴校榮獲女子項目%s 的第2名,她該項目的成績是:%dn",r->data,r->da2);if(strcmp(r->data3,s->data)=0) printf("貴校榮獲女子項目%s 的第3名,她該項目的成績是:%dn",r->data,r->da3);if(strcmp(r->data4,s->data)=0) printf("貴校榮獲女子項目%s 的第4名,她該項目的成績是:%dn",r->data,r->da4);if(strcmp(r->data5,s->data)=0) printf("貴校榮獲女子項目%s 的第5名,她該項目的成績是:%dn",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名%sn",r->data1,r->data2,r->data3);if(strlen(r->data4)>0) printf("第1名%s ,第2名%s,第3名%s,第4名%s,第5名%sn",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名%sn",r->data1,r->data2,r->data3); /字長 沒有輸入第四名 strlen(r->data4)=0if(strlen(r->data4)>0) printf("第1名%s ,第2名%s,第3名%s,第4名%s,第5名%sn",r->data1,r->data2,r->data3,r->data4,r->data5);r=r->next;if(z=1)/輸入局部/輸入學校的個數nprintf("請輸入參加這次比賽的學校的個數:n");scanf("%d",&n);/構建鏈表L1,依次輸入n個學校的名稱。schoolname(L1,n);q=L1->next;/把L1鏈表中的總分da全部初始化為0for(i=1;i<=n;i+)q->da=0; /初始化q->d1=0;q->d2=0;q=q->next;/輸入男子個項目總數mprintf("n請輸入這次比賽的男子項目的個數:n");scanf("%d",&m);/構建男子項目鏈表L2輸入m個男子運動項目名字mansports(L2,m);r=L2->next;/依次m個男子項目的結果for(i=1;i<=m;i+)printf("如果此次%s 比賽只取前3名的成績請輸入1,假如只取前5名的成績請輸入2!n",r->data);/輸入1或2 選擇成績記錄的方式scanf("%d",&z);printf("請輸入第1名所來自的學校的名字和他該項目的成績:n");/輸入第1名學校名稱和項目成績scanf("%s%d",&r->data1,&r->da1);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data1,q->data)=0)if(z=1) q->da=q->da+r->da1;q->d1=q->d1+r->da1;/把項目的成績把對應的項目的成績加到學校里 先把第一名的成績加到對應的學校 加到男子項目總分if(z=2) q->da=q->da+r->da1;q->d1=q->d1+r->da1;q=q->next;printf("請輸入第2名所來自的學校的名字和他該項目的成績:n");/輸入第2名學校名稱和項目成績scanf("%s%d",&r->data2,&r->da2);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data2,q->data)=0)if(z=1) q->da=q->da+r->da2;q->d1=q->d1+r->da2;if(z=2) q->da=q->da+r->da2;q->d1=q->d1+r->da2;q=q->next;printf("請輸入第3名所來自的學校的名字和他該項目的成績:n");/輸入第3名學校名稱和項目成績scanf("%s%d",&r->data3,&r->da3);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data3,q->data)=0)if(z=1) q->da=q->da+r->da3;q->d1=q->d1+r->da3;if(z=2) q->da=q->da+r->da3;q->d1=q->d1+r->da3;q=q->next;/如果z=2,如此繼續(xù)輸入第四,第五名的學校名稱和項目成績。if(z=2)printf("請輸入第4名所來自的學校的名字和他該項目的成績n");/輸入第4名的學校名稱和項目成績。scanf("%s%d",&r->data4,&r->da4);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data4,q->data)=0) q->da=q->da+r->da4;q->d1=q->d1+r->da4;q=q->next;printf("請輸入第5名所來自的學校的名字和他該項目的成績:n");/輸入第5名的學校名稱和項目成績。scanf("%s%d",&r->data5,&r->da5);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data5,q->data)=0) q->da=q->da+r->da4;q->d1=q->d1+r->da4;q=q->next;r=r->next;/輸入男子項目完畢printf("n請輸入這次比賽的女子項目的個數:n");/輸入女子項目的的個數wscanf("%d",&w);/構建鏈表L3,輸入w個項目名稱womansports(L3,w);r=L3->next;/依次對w個女子項目進展結果記錄for(i=1;i<=w;i+)printf("如果此次%s 比賽只取前3名的成績請輸入1,假如只取前5名的成績請輸入2!n",r->data);/輸入1或2 選擇記錄的個數scanf("%d",&x);printf("請輸入第1名所來自的學校的名字和他該項目的成績:n");/輸入第 1 名所來自的學校的名字和他該項目的成績scanf("%s%d",&r->data1,&r->da1);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data1,q->data)=0)if(x=1) q->da=q->da+r->da1;q->d2=q->d2+r->da1;if(x=2) q->da=q->da+r->da1;q->d2=q->d2+r->da1;q=q->next;printf("請輸入第2名所來自的學校的名字和他該項目的成績:n");/輸入第 2名所來自的學校的名字和他該項目的成績scanf("%s%d",&r->data2,&r->da2);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data2,q->data)=0)if(x=1) q->da=q->da+r->da2;q->d2=q->d2+r->da2;if(x=2) q->da=q->da+r->da2;q->d2=q->d2+r->da2;q=q->next;printf("請輸入第3名所來自的學校的名字和他該項目的成績:n");/輸入第 3名所來自的學校的名字和他該項目的成績scanf("%s%d",&r->data3,&r->da3);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data3,q->data)=0)if(x=1) q->da=q->da+r->da3;q->d2=q->d2+r->da3;if(x=2) q->da=q->da+r->da3;q->d2=q->d2+r->da3;q=q->next;if(x=2)printf("請輸入第4名所來自的學校的名字和他該項目的成績:n");/輸入第4名所來自的學校的名字和他該項目的成績scanf("%s%d",&r->data4,&r->da4);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data4,q->data)=0) q->da=q->da+r->da4;q->d2=q->d2+r->da4;q=q->next;printf("請輸入第5名所來自的學校的名字和他該項目的成績:n");/輸入第 5 名所來自的學校的名字和他該項目的成績scanf("%s%d",&r->data5,&r->da5);q=L1->next;for(j=1;j<=n;j+)if(strcmp(r->data5,q->data)=0) q->da=q->da+r->da5;q->d2=q->d2+r->da5;q=q->next;r=r->next;/輸入女子項目完畢p=L1->next;printf("參加這次比賽的學校的成績?yōu)?n");/輸出n個學校的分數for(i=1;i<=n;i+)/n個學校 第一個節(jié)點開始一直打印到n個printf("%s :總分:%d 分男子團體總分:%d 分女子團體總分:%d 分n",p->data,p->da,p->d1,p->d2); /學校的名字. p=p->next; / p指向學校的鏈表 打印完之后指向下一個節(jié)點/把團體總分按照從大到小進展排序并打印schoolrankings (L1,n);/把男子總分按照從大到小進展排序并打印manrankings (L1,n);/把女子總分按照從大到小進展排序并打印womanrankings (L1,n);/輸入局部完畢while(z!=4); /printf("n");34 / 34

注意事項

本文(運動會分數統(tǒng)計系統(tǒng) 大數據結構課程設計)為本站會員(仙***)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!