課程設(shè)計 數(shù)據(jù)結(jié)構(gòu)—用C語言描述_第1頁
課程設(shè)計 數(shù)據(jù)結(jié)構(gòu)—用C語言描述_第2頁
課程設(shè)計 數(shù)據(jù)結(jié)構(gòu)—用C語言描述_第3頁
課程設(shè)計 數(shù)據(jù)結(jié)構(gòu)—用C語言描述_第4頁
課程設(shè)計 數(shù)據(jù)結(jié)構(gòu)—用C語言描述_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、洛陽理工學(xué)院課程設(shè)計 說 明 書課程名稱 數(shù)據(jù)結(jié)構(gòu)用C語言描述 設(shè)計課題 統(tǒng)計成績 專業(yè) 計算機(jī)科學(xué)與技術(shù) 班級 B110502 學(xué)號 B11050209 姓名 張淑慧 完成日期 2013年6月13號 課 程 設(shè) 計 任 務(wù) 書設(shè)計題目:統(tǒng)計成績 設(shè)計內(nèi)容與要求:內(nèi)容:練習(xí)各種數(shù)據(jù)結(jié)構(gòu),存儲結(jié)構(gòu)和一些基本運(yùn)算的實(shí)現(xiàn),鍛煉數(shù)據(jù)結(jié)構(gòu)與算法的結(jié)合,本次實(shí)習(xí)采用了結(jié)構(gòu)體數(shù)組,包括學(xué)生基本信息。要求:運(yùn)用所學(xué)的知識進(jìn)行實(shí)際問題的分析,系統(tǒng)的設(shè)計,以及程序的編寫,測試,獨(dú)立的解決問題。 本次設(shè)計要求完成一個成績統(tǒng)計系統(tǒng)。輸入學(xué)生的基本信息,進(jìn)行成績統(tǒng)計,計算出每個學(xué)生的總成績,進(jìn)行有序的排列,并打印出名次

2、 指導(dǎo)教師:王偉靜2013年 6 月 13號課 程 設(shè) 計 評 語 成績:指導(dǎo)教師:年 月 日【問題描述】給出n個學(xué)生的m門考試的成績表,每個學(xué)生的信息由學(xué)號、姓名以及各科成績組成。對學(xué)生的考試成績進(jìn)行有關(guān)統(tǒng)計,并打印統(tǒng)計表?!净疽蟆浚?) 按總數(shù)高低次序,打印出名次表,分?jǐn)?shù)相同的為同一名次;(2) 按名次打印出每個學(xué)生的學(xué)號、姓名、總分以及各科成績?!緶y試數(shù)據(jù)】(1) 輸入5(n)個學(xué)生的學(xué)號,姓名基本信息以及3(m)課考試成績;(2) 對每個學(xué)生的各科考試成績進(jìn)行求和,求出總成績;(3)對5(n)個學(xué)生的總成績按成績降序打印出來。【算法思想】(1) 首先定義一個struct stude

3、nt類型的結(jié)構(gòu)體,包含學(xué)生的學(xué)號,姓名,名次,各科成績等基本信息;(2) 從鍵盤輸入學(xué)生的基本信息,輸入完畢打印所輸入的基本信息,檢查是否有錯;(3) 總分統(tǒng)計:計算出每個學(xué)生的三科成績的總分并打印出來學(xué)號,姓名,總分;(4) 排序:調(diào)用直插排序算法,對學(xué)生的總成績進(jìn)行從低到高的排序,最后按從高分到低分的順序打印出來,并列出名次,若有總分相同的為同一個名次?!灸K劃分】(1) 學(xué)生信息輸入模塊,包括學(xué)號姓名,成績進(jìn)本信息;(2) 總分計算模塊,計算出學(xué)生各科成績總和;(3) 成績排序模塊,總成績從高到低排列出來?!緮?shù)據(jù)結(jié)構(gòu)】struct projectfloat yuwen;float shu

4、xue;float yingyu;struct student int num;char name30;struct project score;float zong; int mingci;stu5;【測試情況】(1) 輸入學(xué)生基本信息及各科考試成績并打?。唬?) 求出每個學(xué)生的各科成績之和并打??;(3) 按總成績從低到高進(jìn)行排序打印出各科成績及總分,總成績相同的為同一個名次?!拘牡谩客ㄟ^一個周的課程設(shè)計,我對數(shù)據(jù)結(jié)構(gòu)有了更深的認(rèn)識,加深了對結(jié)構(gòu)體定義的掌握,了解了系統(tǒng)的設(shè)計的一些知識,對于簡單系統(tǒng)的設(shè)計有了進(jìn)一步的認(rèn)識和了解。課程設(shè)計的過程中也遇到了很多問題,例如:在對學(xué)生成績進(jìn)行排序時,

5、由于剛開始寫函數(shù)時,只是一味的照搬課本上的算法,忽視了實(shí)際問題,導(dǎo)致排序時出現(xiàn)了重復(fù)排序的現(xiàn)象,后來在自己上網(wǎng)搜索以及同學(xué)的幫助下解決了問題,最終能正確的運(yùn)行出程序。課程設(shè)計是對我們一學(xué)期學(xué)習(xí)知識的一次檢驗,設(shè)計的過程中會遇到很多問題,我們應(yīng)該積極地與老師同學(xué)進(jìn)行交流,認(rèn)真的思考,才能解決問題,提高我們發(fā)現(xiàn)問題解決問題的能力,引導(dǎo)我們把課本上所學(xué)習(xí)到的知識運(yùn)用到生活中去。這次課程設(shè)計我要感謝王偉靜老師以及幫助我的同學(xué),在他們的幫助下,我才能順利的完成此次課程設(shè)計?!驹闯绦颉?include <stdio.h>struct projectfloat yuwen;float shuxu

6、e;float yingyu;struct student int num;char name30; struct project score;float zong;int mingci;stu5;void input(struct student stu5) /信息輸入printf("學(xué)號 姓名 yuwen shuxue yingyu n");for (int i=0;i<5;i+)scanf("%d",&stui.num); scanf("%s",);scanf("%f",&am

7、p;stui.score.yuwen);scanf("%f",&stui.score.shuxue);scanf("%f",&stui.score.yingyu);void count(struct student stu5) /總分計算printf("學(xué)號 姓名 總分n");for (int i=0;i<5;i+)stui.zong=stui.score.yuwen+stui.score.shuxue+stui.score.yingyu;printf("%d %s %fn",stui.num

8、,,stui.zong);void sort(struct student stu5) /直插排序法降序排列struct student temp; /定義一個struct student類型的變量int i,j;int k=1;for (i=2;i<=5;i+)temp=stui; /將要排序的元素賦給tempj=i-1; /j表示已經(jīng)排好序的元素中的最后一個元素stujwhile( temp.zong<stuj.zong) stuj+1=stuj; /如果要排序的元素temp的關(guān)鍵字小于stuj的關(guān)鍵字,則把temp與stuj的前一個元素比較 j-;stuj+

9、1=temp; printf("名次 學(xué)號 姓名 yuwen shuxue yingyu 總分n"); /按成績從高到低打印 for(int p=5;p>0;p-) if(p!=5) /此程序只定義了5個學(xué)生的成績,p=5時,就沒有上一個元素if(stup.zong=stup+1.zong)k-;stup.mingci=k;printf(" %d %d %s %f %f %f %fn",stup.mingci,stup.num,,stup.score.yuwen,stup.score.shuxue,stup.score.yingy

10、u,stup.zong); k+; void print(struct student stu5)for (int i=0;i<5;i+) printf("學(xué)號 姓名 yuwen shuxue yingyun");printf("%d %s %f %f %fn",stui.num,,stui.score.yuwen,stui.score.shuxue,stui.score.yingyu);void main()struct student stu5;int t; printf("-成績統(tǒng)計-n");doprintf(" -選擇操作-n"); printf(" (1)信息輸入 (2)總分統(tǒng)計 (3)總分排序 n");printf("請做出選擇,t=");scanf("%d",&t);switch(t)case 1:printf("請輸入學(xué)生的信息:n");input(stu); print(stu);break;

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論