版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告</p><p> 學(xué)生姓名:學(xué) 號(hào):</p><p> 學(xué) 院:</p><p> 班 級(jí):</p><p> 題 目:運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)</p><p><b> 目 錄</b></p><p><b>
2、 目 錄I</b></p><p><b> 一、選題背景1</b></p><p><b> 1.1 大背景1</b></p><p> 1.2課程設(shè)計(jì)目的1</p><p><b> 二、算法設(shè)計(jì)2</b></p><
3、;p> 2.1 算法思想2</p><p><b> 2.2算法分析2</b></p><p> 三、程序及功能說(shuō)明2</p><p><b> 3.1輸入2</b></p><p><b> 3.2排序3</b></p><p&g
4、t;<b> 3.3查詢5</b></p><p><b> 3.4修改7</b></p><p><b> 四、結(jié)果分析7</b></p><p><b> 五、總 結(jié)16</b></p><p> 六、課程設(shè)計(jì)心得體會(huì)17<
5、/p><p><b> 參考文獻(xiàn)18</b></p><p><b> 源程序19</b></p><p><b> 一、選題背景</b></p><p><b> 1.1 大背景</b></p><p> 《數(shù)據(jù)結(jié)構(gòu)》是
6、計(jì)算機(jī)專業(yè)一門重要的專業(yè)技術(shù)基礎(chǔ)課程。本課程較系統(tǒng)地介紹了軟件設(shè)計(jì)中常用的數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的存儲(chǔ)結(jié)構(gòu)和實(shí)現(xiàn)算法,介紹了常用的多種查找和排序技術(shù)。本課程將為整個(gè)專業(yè)的學(xué)習(xí)以及軟件設(shè)計(jì)水平的提高打下良好的基礎(chǔ)。</p><p><b> 1.2課程設(shè)計(jì)目的</b></p><p> 通過(guò)本課程設(shè)計(jì),掌握C編程語(yǔ)言的使用;提高學(xué)生的計(jì)算機(jī)的使用技能和解決實(shí)際問(wèn)題的能力,
7、使學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)和計(jì)算機(jī)編程產(chǎn)生濃厚的興趣,為以后學(xué)習(xí)、科研、工作打下扎實(shí)的基礎(chǔ)。</p><p><b> 二、算法設(shè)計(jì)</b></p><p><b> 2.1 算法思想</b></p><p><b> 算法思想:</b></p><p> 圖2—1 算法思想&
8、lt;/p><p><b> 2.2算法分析</b></p><p><b> 算法分析:</b></p><p> 定義兩個(gè)結(jié)構(gòu)體Sch 和 Sub分別用來(lái)存儲(chǔ)學(xué)校信息(名,編號(hào))和項(xiàng)目信息(名,編號(hào),相應(yīng)名次的成績(jī),學(xué)校編號(hào)),積分加和,用冒泡法排序,把排序,學(xué)校名,項(xiàng)目名存入txt文本;查詢時(shí)打開相應(yīng)文本,根據(jù)條件
9、輸出數(shù)據(jù)。</p><p><b> 數(shù)組存儲(chǔ)。</b></p><p><b> 三、程序及功能說(shuō)明</b></p><p><b> 3.1輸入</b></p><p><b> 思想</b></p><p> voi
10、d InserSub(Sub sub[],int m,int w)</p><p> {//輸入成績(jī) sub[] 為項(xiàng)目數(shù)組 m 男子項(xiàng)目數(shù) w 女子項(xiàng)目數(shù)</p><p> int i,j,k;</p><p><b> FILE *fp;</b></p><p> for(i=0;i<m+w;i++)&
11、lt;/p><p><b> {</b></p><p> printf("輸入項(xiàng)目名\n");</p><p> scanf("%s",sub[i].name);</p><p> printf("輸入取前k名\n");</p><p&
12、gt; scanf("%d",&k);</p><p> sub[i].flag=k;</p><p> printf("輸入成績(jī)%d個(gè)\n",k);</p><p> for(j=0;j<k;j++)</p><p> scanf("%d",&(su
13、b[i].score[j]));</p><p> printf("輸入學(xué)校編號(hào)%d個(gè)\n",k);</p><p> for(j=0;j<k;j++)</p><p> scanf("%d",&(sub[i].sch[j]));</p><p> sub[i].num=i+1;&
14、lt;/p><p><b> }</b></p><p> fp=fopen("sub.txt","w");</p><p> for(i=0;i<m+w;i++)//項(xiàng)目存儲(chǔ)</p><p> fwrite(&sub[i],sizeof(Sub),1,fp);&
15、lt;/p><p> fclose(fp);</p><p><b> }</b></p><p> void InserSch(Sch sch[],int n)</p><p> {//學(xué)校 sch[] 學(xué)校數(shù)組 n 學(xué)校個(gè)數(shù)</p><p><b> int z;</b&
16、gt;</p><p><b> int i;</b></p><p> FILE *fp;;</p><p> for(z=0;z<n;z++)</p><p><b> {//輸入學(xué)校名</b></p><p> printf("輸入學(xué)校名\n&
17、quot;);</p><p> scanf("%s",sch[z].name);</p><p> sch[z].num=z+1;</p><p><b> }</b></p><p> fp=fopen("sch.txt","w");</p&g
18、t;<p> for(i=0;i<n;i++)//安項(xiàng)目存儲(chǔ)</p><p> fwrite(&sch[i],sizeof(Sch),1,fp);</p><p> fclose(fp);</p><p><b> }</b></p><p><b> 3.2排序</
19、b></p><p><b> 思想</b></p><p> void Sort1(int scorm[2][40],int n)</p><p><b> {//排序</b></p><p> int i,j,k1,k2;</p><p><b>
20、 FILE *fp;</b></p><p> for(j=0;j<n-1;j++)</p><p> {//男子排序 冒泡法 降序</p><p> for(i=j;i<n;i++)</p><p><b> {</b></p><p> if(scorm[0
21、][j]<scorm[0][i])</p><p><b> {</b></p><p> k1=scorm[0][j];</p><p> k2=scorm[1][j];</p><p> scorm[0][j]=scorm[0][i];</p><p> scorm[1][j]
22、=scorm[1][i];</p><p> scorm[0][i]=k1;</p><p> scorm[1][i]=k2;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>&l
23、t;/p><p> for(j=n;j<n+n-1;j++)</p><p> {//冒泡法排序 降序 女子</p><p> for(i=j;i<n+n;i++)</p><p> if(scorm[0][i]<scorm[0][i+1])</p><p><b> {</b&
24、gt;</p><p> k1=scorm[0][j];</p><p> k2=scorm[1][j];</p><p> scorm[0][j]=scorm[0][i];</p><p> scorm[1][j]=scorm[1][i];</p><p> scorm[0][i]=k1;</p>
25、;<p> scorm[1][i]=k2;</p><p><b> }</b></p><p><b> }</b></p><p> fp=fopen("fm.txt","w");</p><p> for(i=0;i<2;i
26、++)//把男女名次存入文件</p><p> for(j=0;j<n+n;j++)</p><p> fwrite(&scorm[i][j],sizeof(int),1,fp);</p><p> fclose(fp);</p><p> Sort(scorm,n);</p><p><b
27、> }</b></p><p><b> 3.3查詢</b></p><p><b> 思想</b></p><p> void Serch()</p><p><b> {</b></p><p><b> FI
28、LE *fp;</b></p><p> int i,j,M,N,W,k;</p><p> Sch sch[20];</p><p> Sub sub[20];</p><p> int zs[2][20],scorm[2][40];</p><p> fp=fopen("n.txt&
29、quot;,"r");</p><p> fread(&N,sizeof(int),1,fp);</p><p> fclose(fp);//學(xué)校個(gè)數(shù)</p><p> fp=fopen("m.txt","r");</p><p> fread(&M,size
30、of(int),1,fp);</p><p> fclose(fp);//男子項(xiàng)目個(gè)數(shù)</p><p> fp=fopen("w.txt","r");</p><p> fread(&W,sizeof(int),1,fp);</p><p> fclose(fp);//女子項(xiàng)目個(gè)數(shù)<
31、;/p><p> fp=fopen("sch.txt","r");</p><p> for(i=0;i<N;i++)</p><p> {//打開學(xué)校文件并讀取</p><p> fread(&sch[i],sizeof(Sch),1,fp);</p><p>
32、;<b> }</b></p><p> fclose(fp);</p><p> fp=fopen("sub.txt","r");</p><p> for(i=0;i<M+W;i++)</p><p> {//打開項(xiàng)目文件并讀取</p><p
33、> fread(&sub[i],sizeof(Sub),1,fp);</p><p><b> }</b></p><p> fclose(fp);</p><p> fp=fopen("zs.txt","r");</p><p> for(i=0;i<
34、;2;i++)</p><p> {//打開總分排名文件并讀取</p><p> for(j=0;j<N;j++)</p><p><b> {</b></p><p> fread(&zs[i][j],sizeof(int),1,fp);</p><p><b>
35、 }</b></p><p><b> }</b></p><p> fclose(fp);</p><p> fp=fopen("fm.txt","r");</p><p> for(i=0;i<2;i++)</p><p>
36、 {//打男女成績(jī)排名開文件并讀取</p><p> for(j=0;j<N+N;j++)</p><p><b> {</b></p><p> fread(&scorm[i][j],sizeof(int),1,fp);</p><p><b> }</b></p>
37、;<p><b> }</b></p><p> fclose(fp);</p><p><b> do</b></p><p><b> {</b></p><p><b> Index1();</b></p>&l
38、t;p> printf("選擇:");</p><p> scanf("%d",&k);</p><p><b> switch(k)</b></p><p><b> {</b></p><p> case 1:Search0(sub
39、,sch,M,W,N);break;//按項(xiàng)目名稱查詢</p><p> case 2:Search1(sub,sch,M,W,N);break;//按項(xiàng)目編號(hào)查詢</p><p> case 3:Search2(sub,sch,M,W,N);break;//按學(xué)校名查詢項(xiàng)</p><p> case 4:Search3(sub,sch,M,W,N);brea
40、k;//按學(xué)校編號(hào)查詢項(xiàng)</p><p> case 5:if(M!=0)</p><p> Search4(sch,scorm,N);//按男生成績(jī)查詢</p><p><b> else</b></p><p> printf("無(wú)男子成績(jī)\n");</p><p>
41、;<b> break;</b></p><p> case 6:if(W!=0)</p><p> Search5(sch,scorm,N);//按女生成績(jī)查詢</p><p><b> else</b></p><p> printf("無(wú)女子成績(jī)\n");<
42、/p><p><b> break;</b></p><p> case 7:Search6(sch,zs,N);break;//按總成績(jī)查詢</p><p> case 8:Search7(sch,zs,N);break;//查詢總成績(jī)</p><p> case 9:XiuG(sub,M,W,N);Serch()
43、;break;//修改 遞歸調(diào)用</p><p><b> }</b></p><p> }while(k<10&&k>0);</p><p><b> }</b></p><p> void Search0(Sub sub[20],Sch sch[20],int
44、 M,int W,int N)</p><p> {//按項(xiàng)目名稱查詢</p><p> int i,j,k1;</p><p> char nam[10];</p><p> printf("輸入項(xiàng)目名稱:");</p><p> scanf("%s",nam);&l
45、t;/p><p> for(i=0;i<M+W;i++)</p><p><b> {</b></p><p> if((strcm(nam,sub[i].name))==0)</p><p><b> {</b></p><p> k1=sub[i].num;b
46、reak;</p><p><b> }</b></p><p><b> }</b></p><p> if(i==M+W)</p><p> printf("項(xiàng)目不存在\n");</p><p><b> else</b>
47、;</p><p><b> {</b></p><p> printf("項(xiàng)目名:%s\n學(xué)校排名:",nam);</p><p> for(j=0;j<(sub[k1-1].flag);j++)</p><p><b> {</b></p><
48、;p> printf("%-5s",sch[sub[k1-1].sch[j]-1].name);</p><p><b> }</b></p><p> printf("\n");</p><p><b> }</b></p><p><
49、;b> }</b></p><p> void Search7(Sch sch[20],int zs[2][20],int N)</p><p><b> {//查詢總成績(jī)</b></p><p><b> int i,k1;</b></p><p> printf(&q
50、uot;輸入學(xué)校編號(hào):");</p><p> scanf("%d",&k1);</p><p> if(k1>N||k1<1)</p><p> printf("所查學(xué)校不存在\n");</p><p><b> else</b></p
51、><p><b> {</b></p><p> for(i=0;i<N;i++)</p><p> if(zs[1][i]==k1)</p><p> printf("學(xué)校名:%-5s \n總分:%d\n",sch[k1-1].name,zs[0][i]);</p><
52、p><b> }</b></p><p><b> }</b></p><p> void Search6(Sch sch[20],int zs[2][20],int N)</p><p><b> {//按總成績(jī)查詢</b></p><p><b>
53、 int i,j;</b></p><p> printf("學(xué)校按總成績(jī)排名:\n");</p><p> for(i=0;i<N;i++)</p><p> for(j=0;j<N;j++)</p><p> if(sch[j].num==zs[1][i])</p><
54、;p> printf("第%d名:%s ",i+1,sch[j].name);</p><p> printf("\n");</p><p><b> }</b></p><p> void Search4(Sch sch[20],int scorm[2][40],int N)</p
55、><p> {//按男生成績(jī)查詢</p><p><b> int i,j;</b></p><p> printf("學(xué)校按男子成績(jī)排名:\n");</p><p> for(i=0;i<N;i++)</p><p> for(j=0;j<N;j++)<
56、;/p><p> if(sch[j].num==scorm[1][i])</p><p> printf("第%d名:%-5s ",i+1,sch[j].name);</p><p> printf("\n");</p><p><b> }</b></p>&
57、lt;p><b> 四、結(jié)果分析</b></p><p><b> 圖4-1-1 輸入</b></p><p> 圖4-1-2 輸入男子項(xiàng)目情況</p><p> 圖4-1-3 輸入女子項(xiàng)目情況</p><p> 圖4-1-3 輸入學(xué)校名</p><p>
58、圖4-2 進(jìn)入查詢板塊</p><p> 圖4-2-1 按項(xiàng)目名正確查詢</p><p> 圖4-2-2 按項(xiàng)目名錯(cuò)誤查詢</p><p> 圖4-2-3 按項(xiàng)目編號(hào)正確查詢</p><p> 圖4-2-4 按項(xiàng)目編號(hào)錯(cuò)誤查詢</p><p> 4-2-5 按學(xué)校名正確查詢</p><p&
59、gt; 4-2-6按學(xué)校名查詢 項(xiàng)目編號(hào)不正確</p><p> 4-2-7按學(xué)校名查詢 校名錯(cuò)誤</p><p> 4-2-8按學(xué)校編號(hào)查詢 </p><p> 4-2-9按學(xué)校編號(hào)查詢 校編號(hào)錯(cuò)誤</p><p> 4-2-10按學(xué)校編號(hào)查詢 項(xiàng)目編號(hào)錯(cuò)誤</p><p> 4-2-11按男子成績(jī)排名&
60、lt;/p><p> 4-2-12按女子成績(jī)排名</p><p> 4-2-13按總成績(jī)排名</p><p> 4-2-14學(xué)校A的總積分</p><p> 4-2-15學(xué)校B的總積分</p><p> 4-2-16學(xué)校C的總積分</p><p> 4-2-17學(xué)??偡e分查找錯(cuò)誤<
61、/p><p> 4-2-18未修改前項(xiàng)目3的排名情況</p><p> 4-3-1修改項(xiàng)目3</p><p> 4-3-2 修改后項(xiàng)目3的排名情況</p><p> 4-3-3 修改后按女子成績(jī)排名</p><p> 4-3-4 修改后按總成績(jī)排名</p><p> 4-3-5 修改后學(xué)
62、校A的成績(jī)</p><p> 圖4-3-6 修改失敗</p><p><b> 五、總 結(jié)</b></p><p> 經(jīng)過(guò)幾個(gè)星期的設(shè)計(jì), “運(yùn)動(dòng)會(huì)統(tǒng)計(jì)分?jǐn)?shù)”的運(yùn)行程序終于設(shè)計(jì)出來(lái),此程序是關(guān)于數(shù)據(jù)庫(kù)和現(xiàn)實(shí)結(jié)合起來(lái)的算法,里面的一些功能可以很方便統(tǒng)計(jì)人員和計(jì)算人員的計(jì)算。大大縮短了統(tǒng)計(jì)結(jié)果的時(shí)間,提高了工作效率。程序里面使用了
63、輸入法、存儲(chǔ)法、冒泡法、修改法等一些基本方法,運(yùn)用了C編程語(yǔ)言,幾個(gè)模塊結(jié)合在了一起,使程序運(yùn)行起來(lái)比較簡(jiǎn)單,快捷。程序運(yùn)行起來(lái),可出現(xiàn)你想要的結(jié)果,并時(shí)時(shí)提醒你下一步應(yīng)作什么,可以很方便得出你想要的結(jié)果。再編程的這段時(shí)間里,我體會(huì)到了很多,讓我更加了解了一些編程語(yǔ)言的性質(zhì)、功能。</p><p> 六、課程設(shè)計(jì)心得體會(huì)</p><p> 在這次的設(shè)計(jì)過(guò)程中,我學(xué)到的不僅是知識(shí),我還認(rèn)
64、識(shí)到許多事情。這次設(shè)計(jì)使我的編程水平提高了一大步,使我充分的認(rèn)識(shí)到合作的可貴。由于這次設(shè)計(jì)涉及到文件,我的學(xué)到了不少文件操作的知識(shí),對(duì)文件的操作有了進(jìn)一步的了解。這次設(shè)計(jì)對(duì)我的綜合能力是一次很好的鍛煉,但是我必須承認(rèn)自己的能力和知識(shí)還很膚淺。所以今后我的學(xué)習(xí)道路還是很漫長(zhǎng)的。最后,在這里我要衷心的感謝我們的指導(dǎo)老師的悉心指導(dǎo)和熱心幫助。由于我水平有限,不足之處,請(qǐng)老師批評(píng)指正,我會(huì)在以后的制作中不斷改進(jìn),不斷完善。</p>
65、<p><b> 參考文獻(xiàn)</b></p><p> [1] 曲朝陽(yáng),郭曉麗,王曉慧,孫鴻飛.數(shù)據(jù)結(jié)構(gòu).北京:中國(guó)電力出版社,2007.</p><p> [2]譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社,2005</p><p><b> 源程序</b></p><p> #i
66、nclude<stdio.h></p><p> #include<stdlib.h></p><p> #include<limits.h></p><p> typedef struct </p><p> {//項(xiàng)目取前5名結(jié)構(gòu)體</p><p> char name
67、[10];//項(xiàng)目名</p><p> int score[5];</p><p> int sch[5];//學(xué)校編號(hào)</p><p> int num;//項(xiàng)目編號(hào)</p><p> int flag;//取前幾名的標(biāo)識(shí)</p><p><b> }Sub;</b></p>
68、;<p> typedef struct</p><p><b> {//學(xué)校名結(jié)構(gòu)體</b></p><p> char name[12];//學(xué)校名</p><p> int num;//學(xué)校編號(hào)</p><p><b> }Sch;</b></p><
69、;p> void InserSub(Sub sub[],int m,int w)</p><p><b> {//輸入成績(jī)</b></p><p> int i,j,k;</p><p><b> FILE *fp;</b></p><p> for(i=0;i<m+w;i++
70、)</p><p> { if(i<m)</p><p> printf("輸入男子");</p><p><b> else</b></p><p> printf("輸入女子");</p><p> printf("項(xiàng)目名\
71、n");</p><p> scanf("%s",sub[i].name);</p><p> printf("輸入取前k名\n");</p><p> scanf("%d",&k);</p><p> sub[i].flag=k;</p>&
72、lt;p> printf("輸入成績(jī)%d個(gè)\n",k);</p><p> for(j=0;j<k;j++)</p><p> scanf("%d",&(sub[i].score[j]));</p><p> printf("輸入學(xué)校編號(hào)%d個(gè)\n",k);</p>
73、<p> for(j=0;j<k;j++)</p><p> scanf("%d",&(sub[i].sch[j]));</p><p> sub[i].num=i+1;</p><p><b> }</b></p><p> fp=fopen("sub.
74、txt","w");</p><p> for(i=0;i<m+w;i++)//項(xiàng)目存儲(chǔ)</p><p> fwrite(&sub[i],sizeof(Sub),1,fp);</p><p> fclose(fp);</p><p><b> }</b></p&g
75、t;<p> void InserSch(Sch sch[],int n)</p><p><b> {//學(xué)校</b></p><p><b> int z;</b></p><p><b> int i;</b></p><p> FILE *fp;
76、;</p><p> for(z=0;z<n;z++)</p><p><b> {//輸入學(xué)校名</b></p><p> printf("輸入學(xué)校名\n");</p><p> scanf("%s",sch[z].name);</p><p&g
77、t; sch[z].num=z+1;</p><p><b> }</b></p><p> fp=fopen("sch.txt","w");</p><p> for(i=0;i<n;i++)//安項(xiàng)目存儲(chǔ)</p><p> fwrite(&sch[i],
78、sizeof(Sch),1,fp);</p><p> fclose(fp);</p><p><b> }</b></p><p> void Sort(int scorm[2][40],int n)</p><p><b> {//總和排序</b></p><p>
79、; int zs[2][20];</p><p> int i,j,k1,k2;</p><p><b> FILE *fp;</b></p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> zs[0][i
80、]=0;</p><p> zs[1][i]=i+1;</p><p><b> }</b></p><p> for(i=0;i<n;i++)</p><p><b> {//初始化數(shù)組</b></p><p> for(j=0;j<n+n;j++)&
81、lt;/p><p> if(zs[1][i]==scorm[1][j])</p><p><b> {</b></p><p> zs[0][i]+=scorm[0][j];</p><p><b> }</b></p><p><b> }</b>
82、;</p><p> for(i=0;i<n-1;i++)</p><p> {//冒泡法排序 降序</p><p> for(j=i;j<n;j++)</p><p> if(zs[0][i]<zs[0][j])</p><p><b> {</b></p>
83、;<p> k1=zs[0][i];</p><p> k2=zs[1][i];</p><p> zs[0][i]=zs[0][j];</p><p> zs[1][i]=zs[1][j];</p><p> zs[0][j]=k1;</p><p> zs[1][j]=k2;</p&
84、gt;<p><b> }</b></p><p><b> }</b></p><p> fp=fopen("zs.txt","w");</p><p> for(i=0;i<2;i++)//把總成績(jī)名次存入文件</p><p>
85、 for(j=0;j<n;j++)</p><p> fwrite(&zs[i][j],sizeof(int),1,fp);</p><p> fclose(fp);</p><p><b> }</b></p><p> void Sort1(int scorm[2][40],int n)&l
86、t;/p><p><b> {//排序</b></p><p> int i,j,k1,k2;</p><p><b> FILE *fp;</b></p><p> for(j=0;j<n-1;j++)</p><p> {//男子排序 冒泡法 降序</p
87、><p> for(i=j;i<n;i++)</p><p><b> {</b></p><p> if(scorm[0][j]<scorm[0][i])</p><p><b> {</b></p><p> k1=scorm[0][j];</p&
88、gt;<p> k2=scorm[1][j];</p><p> scorm[0][j]=scorm[0][i];</p><p> scorm[1][j]=scorm[1][i];</p><p> scorm[0][i]=k1;</p><p> scorm[1][i]=k2;</p><p&g
89、t;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> for(j=n;j<n+n-1;j++)</p><p> {//冒泡法排序 降序 女子</p><p> for(
90、i=j;i<n+n;i++)</p><p> if(scorm[0][i]<scorm[0][i+1])</p><p><b> {</b></p><p> k1=scorm[0][j];</p><p> k2=scorm[1][j];</p><p> scorm[
91、0][j]=scorm[0][i];</p><p> scorm[1][j]=scorm[1][i];</p><p> scorm[0][i]=k1;</p><p> scorm[1][i]=k2;</p><p><b> }</b></p><p><b> }<
92、;/b></p><p> fp=fopen("fm.txt","w");</p><p> for(i=0;i<2;i++)//把男女名次存入文件</p><p> for(j=0;j<n+n;j++)</p><p> fwrite(&scorm[i][j],siz
93、eof(int),1,fp);</p><p> fclose(fp);</p><p> Sort(scorm,n);</p><p><b> }</b></p><p> void ScoreM(Sub sub[],int m,int n,int w,int scorm[2][40])</p>
94、<p> {//男子成績(jī)總和 sub, M, N, W, scorm</p><p> int i,j,k,z;</p><p> for(j=0;j<n;j++)//遍歷學(xué)校</p><p><b> {</b></p><p> for(i=0;i<m;i
95、++)//遍歷男子項(xiàng)目</p><p><b> {</b></p><p> for(z=0;z<(sub[i].flag);z++)//遍歷名次</p><p><b> {</b></p><p> if(sub[i].flag==5)</p><p>
96、 k=z+1;//取前5和前3</p><p><b> else</b></p><p><b> k=z+2;</b></p><p> if((sub[i].sch[z])==scorm[1][j])</p><p><b> {</b></p>&
97、lt;p><b> switch(k)</b></p><p> { //根據(jù)學(xué)校加分到第2行0~n-1列</p><p> case 1:scorm[0][j]+=7;break;</p><p> case 2:scorm[0][j]+=5;break;</p><p> case 3:scorm[0
98、][j]+=3;break;</p><p> case 4:scorm[0][j]+=2;break;</p><p> case 5:scorm[0][j]+=1;break;</p><p><b> }</b></p><p><b> }</b></p><p&
99、gt;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> for(j=n;j<n+n;j++)//遍歷學(xué)校</p><p><b> {</b></p><
100、p> for(i=m;i<m+w;i++)//遍歷女子項(xiàng)目</p><p><b> {</b></p><p> for(z=0;z<(sub[i].flag);z++)//遍歷名次</p><p> {if(sub[i].flag==5)</p><p> k=z+1;//取前5和前3&
101、lt;/p><p><b> else</b></p><p><b> k=z+2;</b></p><p> if((sub[i].sch[z])==scorm[1][j])</p><p><b> {</b></p><p> switch
102、(k) </p><p> {//根據(jù)學(xué)校加分到第2行n~2n-1列</p><p> case 1:scorm[0][j]+=7;break;</p><p> case 2:scorm[0][j]+=5;break;</p><p> case 3:scorm[0][j]+=3;break;</p><p>
103、; case 4:scorm[0][j]+=2;break;</p><p> case 5:scorm[0][j]+=1;break;</p><p><b> }</b></p><p><b> } </b></p><p><b> }</b></p&g
104、t;<p><b> }</b></p><p><b> }</b></p><p> Sort1(scorm,n);</p><p><b> }</b></p><p> void XiuG(Sub sub[20],int M,int W,int
105、N)</p><p><b> {//修改項(xiàng)目名次</b></p><p> int i,j,r,k;</p><p><b> FILE *fp;</b></p><p> int scorm[2][40];</p><p> for(i=0;i<N+N;i
106、++)</p><p><b> {//初始化數(shù)組</b></p><p> scorm[0][i]=0;</p><p><b> if(i<N)</b></p><p> scorm[1][i]=i+1;</p><p><b> else<
107、;/b></p><p> scorm[1][i]=i+1-N;</p><p><b> }</b></p><p> printf("輸入所要修改項(xiàng)目的編號(hào):");</p><p> scanf("%d",&r);</p><p>
108、 if(r-1<M+W)</p><p><b> {</b></p><p><b> k=r-1;</b></p><p><b> if(k<M)</b></p><p> printf("修改項(xiàng)目為男子項(xiàng)目\n");</p
109、><p><b> else</b></p><p> printf("修改項(xiàng)目為女子項(xiàng)目\n");</p><p> printf("輸入成績(jī)%d個(gè)\n",sub[k].flag);</p><p> for(j=0;j<sub[k].flag;j++)</p&g
110、t;<p> scanf("%d",&(sub[k].score[j]));</p><p> printf("輸入學(xué)校編號(hào)%d個(gè)\n",sub[k].flag);</p><p> for(j=0;j<sub[k].flag;j++)</p><p> scanf("%d&quo
111、t;,&(sub[k].sch[j]));</p><p> fp=fopen("sub.txt","w");</p><p> for(i=0;i<M+W;i++)//項(xiàng)目存儲(chǔ)</p><p> fwrite(&sub[i],sizeof(Sub),1,fp);</p><p&
112、gt; fclose(fp);</p><p> ScoreM(sub,M,N,W,scorm);</p><p><b> }</b></p><p><b> else</b></p><p> printf("所修改項(xiàng)目不存在\n");</p>&l
113、t;p><b> }</b></p><p> int strcm(char *s1,char *s2)</p><p><b> {//串的比較</b></p><p> int i,k,d,leng=0,length=0;</p><p> for(i=0;s1[i]!='
114、;\0';i++)</p><p> leng++;//確定串長(zhǎng)</p><p> for(i=0;s2[i]!='\0';i++)</p><p><b> length++;</b></p><p> k=leng>length ?length:leng;</p>
115、<p> for(i=0;i<k;i++)</p><p> {//前k個(gè)是否相同</p><p> if(*(s1+i)>*(s2+i))</p><p><b> {</b></p><p><b> d=1;</b></p><p>&l
116、t;b> break;</b></p><p><b> }</b></p><p> if(*(s1+i)<*(s2+i))</p><p><b> {</b></p><p><b> d=-1;</b></p><p
117、><b> break;</b></p><p><b> }</b></p><p> if(*(s1+i)==*(s2+i))</p><p><b> d=0;</b></p><p><b> }</b></p>&l
118、t;p><b> if(i==k)</b></p><p><b> {//判斷d的值</b></p><p> if(length==leng)d=0;</p><p> if(length>leng)d=-1;</p><p> if(length<leng)d=1;
119、</p><p><b> }</b></p><p><b> return d;</b></p><p><b> }</b></p><p> void Search0(Sub sub[20],Sch sch[20],int M,int W,int N)</
120、p><p> {//按項(xiàng)目名稱查詢</p><p> int i,j,k1;</p><p> char nam[10];</p><p> printf("輸入項(xiàng)目名稱:");</p><p> scanf("%s",nam);</p><p>
121、 for(i=0;i<M+W;i++)</p><p><b> {</b></p><p> if((strcm(nam,sub[i].name))==0)</p><p><b> {</b></p><p> k1=sub[i].num;</p><p>
122、<b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(i==M+W)</p><p> printf("項(xiàng)目不存在\n");</p><p>&l
123、t;b> else</b></p><p><b> {</b></p><p> printf("項(xiàng)目名:%s\n學(xué)校排名:",nam);</p><p> for(j=0;j<(sub[k1-1].flag);j++)</p><p><b> {<
124、;/b></p><p> printf("%-5s",sch[sub[k1-1].sch[j]-1].name);</p><p><b> }</b></p><p> printf("\n");</p><p><b> }</b>&l
125、t;/p><p><b> }</b></p><p> void Search1(Sub sub[20],Sch sch[20],int M,int W,int N)</p><p> {//按項(xiàng)目編號(hào)查詢</p><p> int i,j,k;</p><p> printf("
126、;輸入項(xiàng)目編號(hào):");</p><p> scanf("%d",&i);</p><p> if(i-1<M+W)</p><p><b> {</b></p><p> printf("項(xiàng)目名:%s\n學(xué)校排名:",sub[i-1].name);&
127、lt;/p><p> for(j=0;j<(sub[i-1].flag);j++)</p><p><b> {</b></p><p> k=sub[i-1].sch[j];</p><p> printf("%-5s ",sch[k-1].name);</p><p&
128、gt;<b> }</b></p><p> printf("\n");</p><p><b> }</b></p><p><b> else</b></p><p> printf("項(xiàng)目不存在\n");</p>
129、;<p><b> }</b></p><p> void Search2(Sub sub[20],Sch sch[20],int M,int W,int N)</p><p> {//按學(xué)校名查詢項(xiàng)</p><p> int i,j,k1;</p><p> char nam[10];</
130、p><p> printf("輸入學(xué)校名稱:");</p><p> scanf("%s",nam);</p><p> for(i=0;i<N;i++)</p><p><b> {//找學(xué)校的編號(hào)</b></p><p> if((strcm
131、(nam,sch[i].name))==0)</p><p><b> {</b></p><p> k1=sch[i].num;</p><p><b> break;</b></p><p><b> }</b></p><p><b&
132、gt; }</b></p><p><b> if(i==N)</b></p><p> printf("所查學(xué)校不存在\n");</p><p><b> else</b></p><p><b> {</b></p>
133、<p> printf("輸入項(xiàng)目編號(hào):");</p><p> scanf("%d",&i);</p><p> if(i-1<M+W)</p><p><b> {</b></p><p> printf("項(xiàng)目名:%-5s\n學(xué)校:
134、%-5s\n成績(jī)名次:",sub[i-1].name,nam);</p><p> for(j=0;j<(sub[i-1].flag);j++)</p><p><b> {</b></p><p> if(sub[i-1].sch[j]==sch[k1-1].num)</p><p> prin
135、tf("%2d",j+1);</p><p><b> }</b></p><p> printf("\n");</p><p><b> }</b></p><p><b> else</b></p><p&
136、gt; printf("所查項(xiàng)不存在\n");</p><p><b> }</b></p><p><b> }</b></p><p> void Search3(Sub sub[20],Sch sch[20],int M,int W,int N)</p><p>
137、 {//按學(xué)校編號(hào)查詢項(xiàng)</p><p> int i,j,k1;</p><p> printf("輸入學(xué)校編號(hào):");</p><p> scanf("%d",&k1);</p><p><b> if(k1>N)</b></p><p
138、> printf("所查學(xué)校不存在\n");</p><p><b> else</b></p><p><b> {</b></p><p> printf("輸入項(xiàng)目編號(hào):");</p><p> scanf("%d",
139、&i);</p><p> if(i<=M+W)</p><p><b> {</b></p><p> printf("項(xiàng)目名:%-5s\n學(xué)校:%-5s\n成績(jī)名次:",sub[i-1].name,sch[k1-1].name);</p><p> for(j=0;j<
140、(sub[i-1].flag);j++)</p><p><b> {</b></p><p> if(sub[i-1].sch[j]==k1)</p><p> printf("%2d",j+1);</p><p><b> }</b></p><p
141、> printf("\n");</p><p><b> }</b></p><p><b> else</b></p><p> printf("所查項(xiàng)不存在\n");</p><p><b> }</b></p&
142、gt;<p><b> }</b></p><p> void Search4(Sch sch[20],int scorm[2][40],int N)</p><p> {//按男生成績(jī)查詢</p><p><b> int i,j;</b></p><p> printf(
143、"學(xué)校按男子成績(jī)排名:\n");</p><p> for(i=0;i<N;i++)</p><p> for(j=0;j<N;j++)</p><p> if(sch[j].num==scorm[1][i])</p><p> printf("第%d名:%-5s ",i+1,sc
144、h[j].name);</p><p> printf("\n");</p><p><b> }</b></p><p> void Search5(Sch sch[20],int scorm[2][40],int N)</p><p> {//按女生成績(jī)查詢</p><
145、p><b> int i,j;</b></p><p> printf("學(xué)校按女子成績(jī)排名:\n");</p><p> for(i=N;i<N+N;i++)</p><p> for(j=0;j<N;j++)</p><p> if(sch[j].num==scorm[
146、1][i])</p><p> printf("第%d名:%-5s ",i+1-N,sch[j].name);</p><p> printf("\n");</p><p><b> }</b></p><p> void Search6(Sch sch[20],int
147、zs[2][20],int N)</p><p><b> {//按總成績(jī)查詢</b></p><p><b> int i,j;</b></p><p> printf("學(xué)校按總成績(jī)排名:\n");</p><p> for(i=0;i<N;i++)</p
148、><p> for(j=0;j<N;j++)</p><p> if(sch[j].num==zs[1][i])</p><p> printf("第%d名:%s ",i+1,sch[j].name);</p><p> printf("\n");</p><p>&
149、lt;b> }</b></p><p> void Search7(Sch sch[20],int zs[2][20],int N)</p><p><b> {//查詢總成績(jī)</b></p><p><b> int i,k1;</b></p><p> printf(
150、"輸入學(xué)校編號(hào):");</p><p> scanf("%d",&k1);</p><p><b> if(k1>N)</b></p><p> printf("所查學(xué)校不存在\n");</p><p><b> else<
151、/b></p><p><b> {</b></p><p> for(i=0;i<N;i++)</p><p> if(zs[1][i]==k1)</p><p> printf("學(xué)校名:%-5s \n總分:%d\n",sch[k1-1].name,zs[0][i]);<
152、/p><p><b> }</b></p><p><b> }</b></p><p> void Index1()</p><p><b> {</b></p><p> printf("***********************
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 課程設(shè)計(jì)---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)
- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)報(bào)告
- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- c語(yǔ)言課程設(shè)計(jì)--運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-- 運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)課程設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告--運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì)
評(píng)論
0/150
提交評(píng)論