2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 說 明 書</p><p>  課程名稱 數(shù)據(jù)結(jié)構(gòu)—用C語言描述 </p><p>  設(shè)計課題 統(tǒng)計成績 </p><p>  專 業(yè) 計算機科學(xué)與技術(shù) </p><p>  班

2、級 </p><p>  學(xué) 號 </p><p>  姓 名 </p><p>  完成日期 2013年6月13號 </p><p&

3、gt;<b>  【問題描述】</b></p><p>  給出n個學(xué)生的m門考試的成績表,每個學(xué)生的信息由學(xué)號、姓名以及各科成績組成。對學(xué)生的考試成績進行有關(guān)統(tǒng)計,并打印統(tǒng)計表。</p><p><b>  【基本要求】</b></p><p> ?。?) 按總數(shù)高低次序,打印出名次表,分數(shù)相同的為同一名次;</p

4、><p> ?。?) 按名次打印出每個學(xué)生的學(xué)號、姓名、總分以及各科成績。</p><p><b>  【測試數(shù)據(jù)】</b></p><p>  輸入5(n)個學(xué)生的學(xué)號,姓名基本信息以及3(m)課考試成績;</p><p>  對每個學(xué)生的各科考試成績進行求和,求出總成績;</p><p> ?。?

5、) 對5(n)個學(xué)生的總成績按成績降序打印出來。</p><p><b>  【算法思想】</b></p><p>  (1) 首先定義一個struct student類型的結(jié)構(gòu)體,包含學(xué)生的學(xué)號,姓名,名次,各科成績等基本信息;</p><p> ?。?) 從鍵盤輸入學(xué)生的基本信息,輸入完畢打印所輸入的基本信息,檢查是否有錯;</p&g

6、t;<p> ?。?) 總分統(tǒng)計:計算出每個學(xué)生的三科成績的總分并打印出來學(xué)號,姓名,總分;</p><p> ?。?) 排序:調(diào)用直插排序算法,對學(xué)生的總成績進行從低到高的排序,最后按從高分到低分的順序打印出來,并列出名次,若有總分相同的為同一個名次。</p><p><b>  【模塊劃分】</b></p><p> ?。?)

7、 學(xué)生信息輸入模塊,包括學(xué)號姓名,成績進本信息;</p><p> ?。?) 總分計算模塊,計算出學(xué)生各科成績總和;</p><p> ?。?) 成績排序模塊,總成績從高到低排列出來。</p><p><b>  【數(shù)據(jù)結(jié)構(gòu)】</b></p><p>  struct project</p><p&g

8、t;<b>  {</b></p><p>  float yuwen;</p><p>  float shuxue;</p><p>  float yingyu;</p><p><b>  };</b></p><p>  struct student</p&g

9、t;<p><b>  { </b></p><p><b>  int num;</b></p><p>  char name[30];</p><p>  struct project score;</p><p>  float zong;</p><p

10、>  int mingci;</p><p><b>  }stu[5];</b></p><p><b>  【測試情況】</b></p><p>  (1) 輸入學(xué)生基本信息及各科考試成績并打??;</p><p> ?。?) 求出每個學(xué)生的各科成績之和并打??;</p><

11、;p>  (3) 按總成績從低到高進行排序打印出各科成績及總分,總成績相同的為同一個名次。</p><p><b>  【心得】</b></p><p>  通過一個周的課程設(shè)計,我對數(shù)據(jù)結(jié)構(gòu)有了更深的認識,加深了對結(jié)構(gòu)體定義的掌握,了解了系統(tǒng)的設(shè)計的一些知識,對于簡單系統(tǒng)的設(shè)計有了進一步的認識和了解。</p><p>  課程設(shè)計的過程

12、中也遇到了很多問題,例如:在對學(xué)生成績進行排序時,由于剛開始寫函數(shù)時,只是一味的照搬課本上的算法,忽視了實際問題,導(dǎo)致排序時出現(xiàn)了重復(fù)排序的現(xiàn)象,后來在自己上網(wǎng)搜索以及同學(xué)的幫助下解決了問題,最終能正確的運行出程序。</p><p>  課程設(shè)計是對我們一學(xué)期學(xué)習(xí)知識的一次檢驗,設(shè)計的過程中會遇到很多問題,我們應(yīng)該積極地與老師同學(xué)進行交流,認真的思考,才能解決問題,提高我們發(fā)現(xiàn)問題解決問題的能力,引導(dǎo)我們把課本上

13、所學(xué)習(xí)到的知識運用到生活中去。</p><p>  這次課程設(shè)計我要感謝王偉靜老師以及幫助我的同學(xué),在他們的幫助下,我才能順利的完成此次課程設(shè)計。</p><p><b>  【源程序】</b></p><p>  #include <stdio.h></p><p>  struct project<

14、/p><p><b>  {</b></p><p>  float yuwen;</p><p>  float shuxue;</p><p>  float yingyu;</p><p><b>  };</b></p><p>  struct

15、student</p><p><b>  { </b></p><p><b>  int num;</b></p><p>  char name[30];</p><p>  struct project score;</p><p>  float zong;&l

16、t;/p><p>  int mingci;</p><p><b>  }stu[5];</b></p><p>  void input(struct student stu[5]) //信息輸入</p><p><b>  {</b></p><p>  print

17、f("學(xué)號 姓名 yuwen shuxue yingyu \n");</p><p>  for (int i=0;i<5;i++)</p><p><b>  {</b></p><p>  scanf("%d",&stu[i].num);</p><p>  

18、scanf("%s",stu[i].name);</p><p>  scanf("%f",&stu[i].score.yuwen);</p><p>  scanf("%f",&stu[i].score.shuxue);</p><p>  scanf("%f",&am

19、p;stu[i].score.yingyu);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void count(struct student stu[5]) //總分計算</p><p><b>  {</b>

20、;</p><p>  printf("學(xué)號 姓名 總分\n");</p><p>  for (int i=0;i<5;i++)</p><p><b>  {</b></p><p>  stu[i].zong=stu[i].score.yuwen+stu[i].score.shuxu

21、e+stu[i].score.yingyu;</p><p>  printf("%d %s %f\n",stu[i].num,stu[i].name,stu[i].zong);</p><p><b>  }</b></p><p><b>  }</b></p>&l

22、t;p>  void sort(struct student stu[5]) //直插排序法降序排列</p><p><b>  {</b></p><p>  struct student temp; //定義一個struct student類型的變量</p><p><b>  int i,j;</b

23、></p><p><b>  int k=1;</b></p><p>  for (i=2;i<=5;i++)</p><p><b>  {</b></p><p>  temp=stu[i]; //將要排序的元素賦給temp</p><p&

24、gt;  j=i-1; //j表示已經(jīng)排好序的元素中的最后一個元素stu[j]</p><p>  while( temp.zong<stu[j].zong)</p><p><b>  {</b></p><p>  stu[j+1]=stu[j]; //如果要排序的元素temp的關(guān)鍵字小于stu[j]

25、的關(guān)鍵字,則把temp與stu[j]的前一個元素比較</p><p><b>  j--;</b></p><p><b>  }</b></p><p>  stu[j+1]=temp; </p><p><b>  }</b></p><p

26、>  printf("名次 學(xué)號 姓名 yuwen shuxue yingyu 總分\n"); //按成績從高到低打印</p><p>  for(int p=5;p>0;p--)</p><p><b>  {</b></p><p>  if(p!=5)

27、 //此程序只定義了5個學(xué)生的成績,p=5時,就沒有上一個元素</p><p>  if(stu[p].zong==stu[p+1].zong)</p><p><b>  k--;</b></p><p>  stu[p].mingci=k;</p><p>  printf(" %d

28、 %d %s %f %f %f %f\n",stu[p].mingci,stu[p].num,stu[p].name,stu[p].score.yuwen,stu[p].score.shuxue,stu[p].score.yingyu,stu[p].zong); </p><p><b>  k++;</b></p><

29、p><b>  }</b></p><p><b>  } </b></p><p>  void print(struct student stu[5])</p><p><b>  {</b></p><p>  for (int i=0;i<5;i++)

30、</p><p><b>  {</b></p><p>  printf("學(xué)號 姓名 yuwen shuxue yingyu\n");</p><p>  printf("%d %s %f %f %f\n",stu[i].num

31、,stu[i].name,stu[i].score.yuwen,stu[i].score.shuxue,stu[i].score.yingyu);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b&

32、gt;  {</b></p><p>  struct student stu[5];</p><p><b>  int t;</b></p><p>  printf("-----------------成績統(tǒng)計------------------\n");</p><p><b

33、>  do</b></p><p><b>  {</b></p><p>  printf(" ---------------選擇操作----------------\n");</p><p>  printf(" (1)信息輸入 (2)總分統(tǒng)計 (3)總分排序 \n");&

34、lt;/p><p>  printf("請做出選擇,t=");</p><p>  scanf("%d",&t);</p><p><b>  switch(t)</b></p><p><b>  {</b></p><p>&l

35、t;b>  case 1:</b></p><p>  printf("請輸入學(xué)生的信息:\n");</p><p>  input(stu);</p><p>  print(stu);</p><p><b>  break;</b></p><p>&l

36、t;b>  case 2:</b></p><p>  printf("每個學(xué)生的三科的總分為:\n");</p><p>  count(stu);</p><p><b>  break;</b></p><p><b>  case 3:</b></

37、p><p>  printf("將學(xué)生的成績按總分由高到低排序為:\n");</p><p>  sort(stu);</p><p><b>  break;</b></p><p><b>  default:</b></p><p>  printf(&

溫馨提示

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

最新文檔

評論

0/150

提交評論