版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 游戲算法實(shí)踐報(bào)告</b></p><p><b> 目錄</b></p><p> 1 問題定義與描述3</p><p> 1.1 問題定義3</p><p> 1.2 問題描述3</p><p><b> 2 關(guān)鍵技術(shù)
2、3</b></p><p><b> 3 數(shù)據(jù)的組織3</b></p><p> 3.1數(shù)據(jù)類型定義3</p><p> 3.2數(shù)據(jù)存儲結(jié)構(gòu)5</p><p><b> 4 總體設(shè)計(jì)5</b></p><p> 4.1 系統(tǒng)模塊圖5</
3、p><p> 4.2數(shù)組和鏈表的基本操作5</p><p><b> 5 詳細(xì)設(shè)計(jì)7</b></p><p> 5.1主函數(shù)流程圖7</p><p> 5.2輸入各個項(xiàng)目成績的函數(shù)流程圖8</p><p> 5.3比賽成績排序輸出函數(shù)流程圖9</p><p>
4、; 6 測試結(jié)果及分析10</p><p> 6.1主菜單窗口10</p><p> 6.2輸入各個項(xiàng)目成績并存儲文件10</p><p> 6.3統(tǒng)計(jì)各學(xué)??偡?3</p><p> 6.4按學(xué)校編號排序輸出13</p><p> 6.5按學(xué)校總分排序輸出13</p><p
5、> 6.6按男團(tuán)體總分排序輸出14</p><p> 6.7按女團(tuán)體總分排序輸出15</p><p> 6.8按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況15</p><p> 6.9按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校16</p><p><b> 7 心得體會16</b></p><p>
6、 附錄:程序代碼17</p><p><b> 1 問題定義與描述</b></p><p><b> 1.1 問題定義</b></p><p><b> 運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)</b></p><p><b> 1.2 問題描述</b></p
7、><p> 參加運(yùn)動會有n個學(xué)校,學(xué)校編號為1……n。比賽分成m個男子項(xiàng)目和w個女子項(xiàng)目。項(xiàng)目編號為男子1……m,女子m+1……m+w。不同的項(xiàng)目取前前三名積分;前三名的積分分別為:5、3、2(m、w<=20,n<=10)。</p><p> 1.可以輸入各個項(xiàng)目的前三名或前五名的成績;</p><p> 2.能統(tǒng)計(jì)各學(xué)??偡郑?lt;/p>
8、<p> 3.可以按學(xué)校編號、學(xué)??偡?、男女團(tuán)體總分排序輸出;</p><p> 4.可以按學(xué)校編號查詢學(xué)校某個項(xiàng)目的情況;可以按項(xiàng)目編號查詢?nèi)〉们叭蚯拔迕膶W(xué)校。</p><p> 規(guī)定:輸入數(shù)據(jù)形式和范圍:20以內(nèi)的整數(shù)。</p><p><b> 2 關(guān)鍵技術(shù)</b></p><p> C語言
9、 數(shù)組 鏈表</p><p><b> 3 數(shù)據(jù)的組織</b></p><p> 需要輸入學(xué)校編號,項(xiàng)目編號,取得的名次,以及哪些名次</p><p><b> 3.1數(shù)據(jù)類型定義</b></p><p> typedef struct node1</p><p>
10、;<b> {</b></p><p> int school; /*學(xué)校編號*/</p><p> int record; /*項(xiàng)目成績*/</p><p> struct node1 *next; /*鏈域*/</p><p> }Schools; </p><p>
11、 typedef struct</p><p><b> {</b></p><p> int item; /*項(xiàng)目編號*/</p><p> Schools *firstschool; /*鏈域指向鏈表中第一個結(jié)點(diǎn)*/</p><p> }ITEM; </p><p>
12、typedef struct </p><p><b> { </b></p><p> int z; /* 項(xiàng)目總數(shù) */ </p><p> ITEM a[MAX]; </p><p> }ALLitems; </p><p> typedef struct node
13、2 </p><p><b> { </b></p><p> int item; /*該學(xué)校獲獎的項(xiàng)目*/ </p><p> int record; /*項(xiàng)目成績*/ </p><p> struct node2 *next; /*鏈域*/ </p><p>
14、 }Items; </p><p> typedef struct </p><p><b> { </b></p><p> int school; /*學(xué)校編號*/ </p><p> int score; /*學(xué)??偡?/ </p><p> int bo
15、ys; /*男團(tuán)體總分*/ </p><p> int girls; /*女團(tuán)體總分*/ </p><p> Items *firstitem; /*鏈域指向鏈表中第一個獲獎項(xiàng)目的結(jié)點(diǎn)*/ </p><p> }SCHNode; </p><p> typedef struct </p><
16、;p><b> { </b></p><p> int n; /* 學(xué)??倲?shù) */ </p><p> SCHNode b[MAX]; </p><p> }ALLNode; </p><p><b> 3.2數(shù)據(jù)存儲結(jié)構(gòu)</b></p><
17、;p><b> 以鏈表和數(shù)組實(shí)現(xiàn)</b></p><p><b> 4 總體設(shè)計(jì)</b></p><p><b> 4.1 系統(tǒng)模塊圖</b></p><p> 圖4.1 系統(tǒng)模塊圖</p><p> 4.2數(shù)組和鏈表的基本操作</p><
18、p> 輸入階段,數(shù)組作為鏈表的數(shù)據(jù)域,將數(shù)據(jù)存放在數(shù)組的各個成員中。</p><p> 輸出階段,將存儲在數(shù)組中的數(shù)據(jù)進(jìn)行調(diào)用,通過按數(shù)組中同一成員不同項(xiàng)目的大小不同來進(jìn)行比較,來進(jìn)行排序。</p><p><b> 5 詳細(xì)設(shè)計(jì)</b></p><p><b> 5.1主函數(shù)流程圖</b></p>
19、;<p> 圖5.1 主函數(shù)流程圖</p><p> 5.2輸入各個項(xiàng)目成績的函數(shù)流程圖</p><p> 圖5.2輸入各個項(xiàng)目成績的函數(shù)流程圖</p><p> 5.3比賽成績排序輸出函數(shù)流程圖</p><p> 圖5.3比賽成績排序輸出函數(shù)流程圖</p><p><b> 6 測
20、試結(jié)果及分析</b></p><p><b> 6.1主菜單窗口</b></p><p><b> 圖6.1主菜單窗口</b></p><p> 6.2輸入各個項(xiàng)目成績并存儲文件</p><p> 請選擇(0~8):1 進(jìn)入輸入各個項(xiàng)目成績并存儲文件</p><
21、;p> 圖6.21進(jìn)入輸入各個項(xiàng)目成績界面</p><p> 輸入男子項(xiàng)目總數(shù)m:2 </p><p> 輸入女子項(xiàng)目總數(shù)w:2 </p><p> 輸入?yún)⒓舆\(yùn)動會的學(xué)??倲?shù)n: 3</p><p> 圖6.22輸入項(xiàng)目和學(xué)??倲?shù)</p><p> 輸入 項(xiàng)目:1 請選擇1(1.前
22、三名2.前五名)</p><p> 第3名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p> 第2名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p> 第1名:學(xué)校<學(xué)校編號為數(shù)字>1</p><p> 項(xiàng)目:2 請選擇1(1.前三名2.前五名)</p><p> 第3名:學(xué)校
23、<學(xué)校編號為數(shù)字>1</p><p> 第2名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p> 第1名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p> 項(xiàng)目:3 請選擇1(1.前三名2.前五名)</p><p> 第3名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p>
24、 第2名:學(xué)校<學(xué)校編號為數(shù)字>1</p><p> 第1名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p> 項(xiàng)目:4 請選擇1(1.前三名2.前五名)</p><p> 第3名:學(xué)校<學(xué)校編號為數(shù)字>3</p><p> 第2名:學(xué)校<學(xué)校編號為數(shù)字>1</p><
25、;p> 第1名:學(xué)校<學(xué)校編號為數(shù)字>2</p><p> 圖6.23輸入項(xiàng)目信息</p><p> 輸入 項(xiàng)目:0 返回到主菜單窗口</p><p> 圖6.24返回主界面 <
26、;/p><p> 6.3統(tǒng)計(jì)各學(xué)??偡?lt;/p><p> 請選擇(0~8):2 進(jìn)入統(tǒng)計(jì)各學(xué)??偡?lt;/p><p> 圖6.3統(tǒng)計(jì)各學(xué)??偡?lt;/p><p> 6.4按學(xué)校編號排序輸出</p><p> 請按任意鍵繼續(xù) 0 返回到主菜單窗口 </p><p> 請選擇(0~8):
27、3 按學(xué)校編號排序輸出</p><p> 圖6.4按學(xué)校編號排序輸出</p><p> 6.5按學(xué)??偡峙判蜉敵?lt;/p><p> 請按任意鍵繼續(xù) 0 返回到菜單主界面</p><p> 請選擇(0~8):4 按學(xué)??偡峙判蜉敵?lt;/p><p> 圖6.5按學(xué)??偡峙判蜉敵?lt;/p><p
28、> 6.6按男團(tuán)體總分排序輸出</p><p> 請按任意鍵繼續(xù) 0 返回到菜單主界面 </p><p> 請選擇(0~8):5 按男團(tuán)體總分排序輸出</p><p> 圖6.6按男團(tuán)體總分排序輸出</p><p> 6.7按女團(tuán)體總分排序輸出</p><p> 請按任意鍵繼續(xù) 0 返回到
29、菜單主界面 </p><p> 請選擇(0~8):6 按女團(tuán)體總分排序輸出</p><p> 圖6.7按女團(tuán)體總分排序輸出</p><p> 6.8按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況 </p><p> 請按任意鍵繼續(xù) 0 返回到菜單主界面</p><p> 請選擇(0~8):7 按學(xué)校編號查詢學(xué)校某
30、個項(xiàng)目情況</p><p> 圖6.8按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況</p><p> 6.9按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校</p><p> 請按任意鍵繼續(xù) 0 返回到菜單主界面</p><p> 請選擇(0~8):8 按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校</p><p> 圖6.9按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校&
31、lt;/p><p><b> 7 心得體會</b></p><p> 本次課程設(shè)計(jì),不僅檢驗(yàn)了我的實(shí)踐能力,也讓自己可以很明確的了解到自己哪些知識點(diǎn)掌握的比較好,哪些知識點(diǎn)運(yùn)用的還不夠熟練。同時(shí)通過與組員和老師之間的交流,學(xué)到了很多自己所不了解的知識,多問,多學(xué),實(shí)踐與團(tuán)隊(duì)合作,才是關(guān)鍵。</p><p><b> 附錄:程序代碼&
32、lt;/b></p><p> #include <stdio.h> </p><p> #include <stdlib.h> </p><p> #include <string.h> </p><p> #include <io.h> <
33、;/p><p> #define MAX 50 </p><p> typedef struct node1</p><p><b> {</b></p><p> int school; /*學(xué)校編號*/</p><p> int record; /*項(xiàng)目成績*/</p>
34、;<p> struct node1 *next; /*鏈域*/</p><p> }Schools; </p><p> typedef struct</p><p><b> {</b></p><p> int item; /*項(xiàng)目編號*/</p><p&g
35、t; Schools *firstschool; /*鏈域指向鏈表中第一個結(jié)點(diǎn)*/</p><p> }ITEM; </p><p> typedef struct </p><p><b> { </b></p><p> int z; /* 項(xiàng)目總數(shù) */ </p><
36、;p> ITEM a[MAX]; </p><p> }ALLitems; </p><p> typedef struct node2 </p><p><b> { </b></p><p> int item; /*該學(xué)校獲獎的項(xiàng)目*/ </p><p>
37、int record; /*項(xiàng)目成績*/ </p><p> struct node2 *next; /*鏈域*/ </p><p> }Items; </p><p> typedef struct </p><p><b> { </b></p><p>
38、 int school; /*學(xué)校編號*/ </p><p> int score; /*學(xué)??偡?/ </p><p> int boys; /*男團(tuán)體總分*/ </p><p> int girls; /*女團(tuán)體總分*/ </p><p> Items *firstitem; /*鏈域指向鏈表中第一個獲獎項(xiàng)
39、目的結(jié)點(diǎn)*/ </p><p> }SCHNode; </p><p> typedef struct </p><p><b> { </b></p><p> int n; /* 學(xué)??倲?shù) */ </p><p> SCHNode b[MAX]; </
40、p><p> }ALLNode; </p><p> ALLitems *g1; </p><p> ALLNode *g2; </p><p> /************************************</p><p> *函數(shù)名:funct1
41、 *</p><p> *函數(shù)功能:輸入各項(xiàng)目成績 *</p><p> *形參:LLitems *g1,ALLNode *g2 *</p><p> *返回值:無 *</p><p> ********************************
42、****/ </p><p> void funct1(ALLitems *g1,ALLNode *g2) </p><p><b> { </b></p><p> Schools *p1; </p><p&g
43、t; Items *p2; </p><p> int i,j,k,m,w,h,x; </p><p> p1=(Schools *)malloc(sizeof(Schools)); </p><p> p2=(Items *)malloc(sizeof(Items)); </p>&l
44、t;p> if(!p1||!p2)</p><p> exit(1); </p><p> printf("\n ******輸入各個項(xiàng)目信息 ****** \n\n"); </p&g
45、t;<p> printf(" 輸入男子項(xiàng)目總數(shù)m:"); </p><p> scanf("%d",&m); </p><p> if(m<0||m>20) </p><p><b> {</b>&l
46、t;/p><p> printf(" 輸入有誤,m是20以內(nèi)的整數(shù),請重新輸入:"); </p><p> scanf("%d",&m);</p><p><b> } </b></p><p> printf("
47、 輸入女子項(xiàng)目總數(shù)w:"); </p><p> scanf("%d",&w); </p><p> if(w<0||w>20) </p><p><b> { </b></p><p> printf("
48、; 輸入有誤,w是20以內(nèi)的整數(shù),請重新輸入:"); </p><p> scanf("%d",&w); </p><p><b> } </b></p><p> printf(" 輸入?yún)⒓舆\(yùn)動會的學(xué)??倲?shù)n:&qu
49、ot;); </p><p> scanf("%d",&g2->n); </p><p> if(g2->n<0||g2->n>20) </p><p><b> { </b></p><p> printf("
50、 輸入有誤,n是20以內(nèi)的整數(shù),請重新輸入:"); </p><p> scanf("%d",&g2->n); </p><p><b> } </b></p><p> g1->z=m+w;</p><p> printf(" 則項(xiàng)目
51、編號為男子1-%d,女子%d-%d",m,m+1,g1->z); </p><p> printf("\n\n ****記錄運(yùn)動會成績****"); </p><p> printf("\n\n (輸入0標(biāo)志結(jié)束)\n");</p&
52、gt;<p> for(k=1;k<=g1->z;k++) </p><p><b> { </b></p><p> g1->a[k].item=k; </p><p> g1->a[k].firstschool=NULL;</p><p>&l
53、t;b> } </b></p><p> for(k=1;k<=g2->n;k++) </p><p><b> { </b></p><p> g2->b[k].school=k; </p><p> g2->b[k].firstitem=0; &l
54、t;/p><p> g2->b[k].score=0;</p><p> g2->b[k].boys=0;</p><p> g2->b[k].girls=0; </p><p> } </p><p> g2->b[0]
55、.score=0;</p><p> g2->b[0].boys=0;</p><p> g2->b[0].girls=0; </p><p> while(i!=0) </p><p><b> { </b></p><p> printf("\n
56、 項(xiàng)目:"); </p><p> scanf("%d",&i); </p><p><b> if(i!=0)</b></p><p><b> { </b></p><p> printf("
57、 1.前三名 2.前五名\n"); </p><p> printf(" 請選擇:"); </p><p> scanf("%d",&j); </p><p> if(j!=1&&j!=
58、2) </p><p><b> { </b></p><p> printf(" 輸入有誤,請重新選擇:"); </p><p> scanf("%d",&j); </p><p><b> } &
59、lt;/b></p><p> if(j==1) </p><p><b> {</b></p><p><b> h=3; </b></p><p> do{ printf(" 第%d名:學(xué)校(學(xué)校編號為數(shù)字)"
60、,h); </p><p> scanf("%d",&x); </p><p> p1=(Schools *)malloc(sizeof(Schools)); </p><p> p1->school=x;</p><p> p2=(Items *)malloc(sizeof(Items)
61、); </p><p> p2->item=i; </p><p> if(h==3) p2->record=p1->record=2; </p><p> if(h==2) p2->record=p1->record=3; </p><p> if(h==1) p2->record
62、=p1->record=5; </p><p> p1->next=g1->a[i].firstschool; </p><p> g1->a[i].firstschool=p1; </p><p> p2->next=g2->b[x].firstitem; </p><p> g2-
63、>b[x].firstitem=p2; </p><p> g2->b[x].score=g2->b[x].score+p2->record; /* 累計(jì)總分 */ </p><p> if(i<=m) g2->b[x].boys=g2->b[x].boys+p2->record; /* 累計(jì)男團(tuán)體總分 */ </p
64、><p> else g2->b[x].girls=g2->b[x].girls+p2->record; /* 累計(jì)女團(tuán)體總分 */ </p><p><b> h--; </b></p><p> }while(x!=0&&h!=0); </p><p><b
65、> } </b></p><p> if(j==2) </p><p><b> {</b></p><p><b> h=5; </b></p><p><b> do{ </b></p><
66、p> printf(" 第%d名:學(xué)校(學(xué)校編號為數(shù)字)",h); </p><p> scanf("%d",&x); </p><p> p1=(Schools *)malloc(sizeof(Schools)); </p><p> p1->school=x;
67、</p><p> p2=(Items *)malloc(sizeof(Items)); </p><p> p2->item=i; </p><p> if(h==5) p2->record=p1->record=1; </p><p> if(h==4) p2->record=p1->re
68、cord=2; </p><p> if(h==3) p2->record=p1->record=3; </p><p> if(h==2) p2->record=p1->record=5; </p><p> if(h==1) p2->record=p1->record=7; </p><
69、;p> p1->next=g1->a[i].firstschool; </p><p> g1->a[i].firstschool=p1; </p><p> p2->next=g2->b[x].firstitem; </p><p> g2->b[x].firstitem=p2; </p>
70、;<p> g2->b[x].score=g2->b[x].score+p2->record; /* 累計(jì)總分 */ </p><p> if(i<=m) g2->b[x].boys=g2->b[x].boys+p2->record; /* 累計(jì)男團(tuán)體總分 */ </p><p> else g2-&g
71、t;b[x].girls=g2->b[x].girls+p2->record; /* 累計(jì)女團(tuán)體總分 */ </p><p><b> h--; </b></p><p> }while(x!=0&&h!=0); </p><p><b> } </b></p&g
72、t;<p><b> } </b></p><p><b> } </b></p><p><b> } </b></p><p> /************************************</p><p> *函數(shù)
73、名:save *</p><p> *函數(shù)功能:保存文件 *</p><p> *形參:無 *</p><p> *返回值:無 *</p><p> *****
74、*******************************/ </p><p> void save() </p><p><b> {</b></p><p> FILE *fp1,*fp2;</p><p> fp1=(FILE *)ma
75、lloc(sizeof(FILE));</p><p> fp2=(FILE *)malloc(sizeof(FILE));</p><p> if((fp1=fopen("sports1","wb"))==NULL)</p><p><b> {</b></p><p>
76、 printf("cannot open file.\n");</p><p><b> return;</b></p><p><b> }</b></p><p> if(fwrite(g1,sizeof(ALLitems),1,fp1)!=1)</p><p> p
77、rintf("file write error.\n");</p><p> fclose(fp1);</p><p> if((fp2=fopen("sports2","wb"))==NULL)</p><p><b> {</b></p><p>
78、printf("cannot open file.\n");</p><p><b> return;</b></p><p><b> }</b></p><p> if(fwrite(g2,sizeof(ALLNode),1,fp2)!=1)</p><p> pri
79、ntf("file write error.\n");</p><p> fclose(fp2);</p><p><b> }</b></p><p> /************************************</p><p> *函數(shù)名:funct2
80、 *</p><p> *函數(shù)功能:統(tǒng)計(jì)各學(xué)??偡?*</p><p> *形參:ALLNode *g2 *</p><p> *返回值:無 *</p><p> **************************
81、**********/ </p><p> void funct2(ALLNode *g2) /* 輸出各學(xué)??偡?*/ </p><p><b> {</b></p><p><b> int k;</b></p><p> printf("
82、\n\n ****** 輸出各學(xué)??偡?******\n");</p><p> printf(" 學(xué)校編號\t 總分 \n");</p><p> for(k=1;k<=g2->n;k++)</p><p> pr
83、intf(" %d\t\t\t %d\n",k,g2->b[k].score);</p><p> printf("\n");</p><p> system("pause");</p><p> printf("
84、 按任意鍵返回主菜單......");</p><p> getchar(); </p><p><b> }</b></p><p> /************************************</p><p> *函數(shù)名:funct3
85、 *</p><p> *函數(shù)功能:按學(xué)校編號排序輸出 *</p><p> *形參:ALLNode *g2 *</p><p> *返回值:無 *</p><p> ****************************
86、********/ </p><p> void funct3(ALLNode *g2) /* 按學(xué)校編號排序輸出 */ </p><p><b> {</b></p><p><b> int k; </b></p><p>
87、Items *p2;</p><p> p2=(Items *)malloc(sizeof(Items));</p><p> printf("\n\n ****** 按學(xué)校編號排序輸出 ******\n"); </p><p> printf(" 學(xué)校編號\t\t\t獲獎情況 \n"); </p
88、><p> scanf("%d",&k); </p><p> for(k=1;k<=g2->n;k++) </p><p><b> {</b></p><p> printf("\t%d\t",k);</p><p>
89、 p2=g2->b[k].firstitem;</p><p> while(p2!=NULL)</p><p><b> {</b></p><p> printf("項(xiàng)目%d:得%d分 ",p2->item,p2->record);</p><p> p2=p2->
90、;next;</p><p><b> }</b></p><p> printf("\n");</p><p><b> } </b></p><p> printf("\n"); </p><p> system(&
91、quot;pause");</p><p> printf("按任意鍵返回主菜單......"); </p><p> getchar(); </p><p><b> } </b></p><p> /**********************************
92、**</p><p> *函數(shù)名:funct4 *</p><p> *函數(shù)功能:按學(xué)??偡峙判蜉敵?*</p><p> *形參:ALLNode *g2 *</p><p> *返回值:無 *<
93、/p><p> ************************************/ </p><p> void funct4(ALLNode *g2) /* 按學(xué)??偡峙判蜉敵?*/ </p><p><b> {</b></p><p> int
94、i,j,k;</p><p> Items *p2;</p><p> printf("\n\n ****** 按學(xué)??偡峙判蜉敵?******\n");</p><p> printf(" 學(xué)校編號\t\t總分 \n");</p><p> s
95、canf("%d",&k);</p><p> for(i=2;i<=g2->n;i++)</p><p><b> {</b></p><p> printf("%d\t",k);</p><p> p2=g2->b[k].firstitem;&
96、lt;/p><p> while(p2!=NULL)</p><p><b> {</b></p><p> printf("%d \t\t%d\n",g2->b[k].school,g2->b[k].score);</p><p> p2=p2->next;</p>
97、<p><b> }</b></p><p> printf("\n");</p><p> g2->b[0].score=g2->b[i].score;</p><p> g2->b[0].boys=g2->b[i].boys;</p><p> g2
98、->b[0].girls=g2->b[i].girls;</p><p> g2->b[0].school=g2->b[i].school;</p><p><b> j=i-1;</b></p><p> while(g2->b[0].score<g2->b[j].score&&
99、j>0)</p><p><b> {</b></p><p> g2->b[j+1].score=g2->b[j].score;</p><p> g2->b[j+1].boys=g2->b[j].boys;</p><p> g2->b[j+1].girls=g2->
100、b[j].girls;</p><p> g2->b[j+1].school=g2->b[j].school;</p><p><b> j--;</b></p><p><b> }</b></p><p> g2->b[j+1].score=g2->b[0].sc
101、ore;</p><p> g2->b[j+1].boys=g2->b[0].boys;</p><p> g2->b[j+1].girls=g2->b[0].girls;</p><p> g2->b[j+1].school=g2->b[0].school;</p><p><b> }
102、</b></p><p> for(k=1;k<=g2->n;k++)</p><p> printf("%d \t\t%d\n",g2->b[k].school,g2->b[k].score);</p><p> system("pause");</p><p&g
103、t; printf("按任意鍵返回主菜單......");</p><p> getchar();</p><p><b> } </b></p><p> /************************************</p><p> *函數(shù)名:funct5
104、 *</p><p> *函數(shù)功能:按男團(tuán)體總分排序輸出 *</p><p> *形參:ALLNode *g2 *</p><p> *返回值:無 *</p><p> *************************
105、***********/ </p><p> void funct5(ALLNode *g2) /* 按男團(tuán)體總分排序輸出 */ </p><p><b> {</b></p><p> int i,j,k; </p><p> Items *p2;<
106、;/p><p> p2=(Items *)malloc(sizeof(Items));</p><p> printf("\n\n ****** 按男團(tuán)體總分排序輸出 ******\n");</p><p> printf("學(xué)校編號\t\t男團(tuán)體總分 \n"); </p>
107、<p> scanf("%d",&k); </p><p> for(i=2;i<=g2->n;i++) </p><p><b> {</b></p><p> printf("%d\t",k); </p><p> p
108、2=g2->b[k].firstitem; </p><p> while(p2!=NULL) </p><p><b> {</b></p><p> printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].boys); </p>&l
109、t;p> p2=p2->next; </p><p><b> }</b></p><p> printf("\n"); </p><p> g2->b[
110、0].score=g2->b[i].score; </p><p> g2->b[0].boys=g2->b[i].boys; </p><p> g2->b[0].girls=g2->b[i].girls; </p><p> g2->b[0].school=g2->b[i].school; <
111、/p><p><b> j=i-1; </b></p><p> while(g2->b[0].boys<g2->b[j].boys&&j>0)</p><p><b> {</b></p><p> g2->b[j+1].score=g2-&g
112、t;b[j].score;</p><p> g2->b[j+1].boys=g2->b[j].boys; </p><p> g2->b[j+1].girls=g2->b[j].girls; </p><p> g2->b[j+1].school=g2->b[j].school; </p><
113、;p><b> j--; </b></p><p><b> } </b></p><p> g2->b[j+1].score=g2->b[0].score; </p><p> g2->b[j+1].boys=g2->b[0].boys; </p>&l
114、t;p> g2->b[j+1].girls=g2->b[0].girls; </p><p> g2->b[j+1].school=g2->b[0].school; </p><p><b> }</b></p><p> for(k=1;k<=g2->n;k++)</p>
115、<p> printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].boys); </p><p> system("pause"); // 暫停等待</p><p> printf("按任意鍵返回主
116、菜單......"); </p><p> getchar(); </p><p><b> } </b></p><p> /************************************</p><p> *函數(shù)名:funct6 *<
117、;/p><p> *函數(shù)功能:按女團(tuán)體總分排序輸出 *</p><p> *形參:ALLNode *g2 *</p><p> *返回值:無 *</p><p> ************************************/ &l
118、t;/p><p> void funct6(ALLNode *g2) /* 按女團(tuán)體總分排序輸出 */ </p><p><b> {</b></p><p> int i,j,k; </p><p> Items *p2;</p><p>
119、p2=(Items *)malloc(sizeof(Items));</p><p> printf("\n\n ****** 按女團(tuán)體總分排序輸出 ******\n");</p><p> printf("學(xué)校編號\t\t女團(tuán)體總分 \n"); </p><p> scanf
120、("%d",&k);</p><p> for(i=2;i<=g2->n;i++) </p><p><b> {</b></p><p> printf("%d\t",k); </p><p> p2=g2->b[k].firstitem
121、;</p><p> while(p2!=NULL) </p><p> { printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].girls); </p><p> p2=p2->next; </p><p><b> }</b
122、></p><p> printf("\n");</p><p> g2->b[0].score=g2->b[i].score; </p><p> g2->b[0].boys=g2->b[i].boys; </p><p> g2->b[0].girls=g2->
123、b[i].girls; </p><p> g2->b[0].school=g2->b[i].school; </p><p><b> j=i-1; </b></p><p> while(g2->b[0].girls<g2->b[j].girls&&j>0)</p&
124、gt;<p><b> {</b></p><p> g2->b[j+1].score=g2->b[j].score; </p><p> g2->b[j+1].boys=g2->b[j].boys; </p><p> g2->b[j+1].girls=g2->b[j].gir
125、ls; </p><p> g2->b[j+1].school=g2->b[j].school; </p><p><b> j--; </b></p><p><b> } </b></p><p> g2->b[j+1].score=g2->b[0
126、].score; </p><p> g2->b[j+1].boys=g2->b[0].boys; </p><p> g2->b[j+1].girls=g2->b[0].girls; </p><p> g2->b[j+1].school=g2->b[0].school; </p><p
127、><b> } </b></p><p> for(k=1;k<=g2->n;k++) </p><p> printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].girls); </p><p> system("pause&
128、quot;);</p><p> printf("按任意鍵返回主菜單......");</p><p> getchar(); </p><p><b> } </b></p><p> /*****************************************</p&
129、gt;<p> *函數(shù)名:funct7 *</p><p> *函數(shù)功能:按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況*</p><p> *形參:ALLNode *g2 *</p><p> *返回值:無 *
130、</p><p> *****************************************/ </p><p> void funct7(ALLNode *g2) /* 按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況 */ </p><p><b> {</b></p><p> i
131、nt i,j; </p><p> Items *p2; </p><p> printf("\n ****** 按學(xué)校編號查詢學(xué)校某個項(xiàng)目情況 ******\n"); </p><p> printf(" 輸入要查詢的學(xué)校編號:");
132、 </p><p> scanf("%d",&i); </p><p> printf(" 輸入要查詢的項(xiàng)目編號:"); </p><p> scanf("%d",&j); </p>&
133、lt;p> p2=g2->b[i].firstitem; </p><p> while(p2!=NULL) </p><p><b> {</b></p><p> if(p2->item==j) </p><p> printf("
134、 學(xué)校編號:%d\t項(xiàng)目%d:得%d分\n",i,p2->item,p2->record); </p><p> p2=p2->next; </p><p><b> } </b></p><p> printf("\n"); </p><p&g
135、t; system("pause");</p><p> printf(" 按任意鍵返回主菜單......"); </p><p> getchar(); </p><p><b> } </b></p><p>
136、 /***************************************</p><p> *函數(shù)名:funct8 *</p><p> *函數(shù)功能:按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校*</p><p> *形參:ALLNode *g1 *</p><
137、;p> *返回值:無 *</p><p> ***************************************/ </p><p> void funct8(ALLitems *g1) /* 按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校 */ </p><p><
138、b> {</b></p><p> int i; </p><p> Schools *p1; </p><p> printf("\n*** 按項(xiàng)目編號查詢?nèi)〉妹蔚膶W(xué)校 ***\n"); </p><p> printf("輸入要查詢的項(xiàng)目編號:");
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)---運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 課程設(shè)計(jì)---運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)
- 運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)報(bào)告
- 運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- c語言課程設(shè)計(jì)--運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-- 運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告--運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---運(yùn)動會分?jǐn)?shù)統(tǒng)計(jì)
評論
0/150
提交評論