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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)</b></p><p><b>  設(shè)計(jì)說(shuō)明書(shū)</b></p><p>  希爾排序,冒泡排序,快速排序</p><p>  學(xué)生姓名:***** </p><p>  學(xué)生學(xué)號(hào):2009070142**</p><p>

2、;  指導(dǎo)教師:***** </p><p>  所在班級(jí):09級(jí)電信2班</p><p>  成績(jī)打分: </p><p><b>  信息與工程學(xué)院</b></p><p>  2011年6月25日</p><p><b>  課程設(shè)計(jì)任務(wù)書(shū)<

3、/b></p><p>  2010—2011學(xué)年第二學(xué)期</p><p>  專(zhuān)業(yè): 電子信息工程 </p><p><b>  學(xué)號(hào): </b></p><p><b>  姓名: </b></p><p>  課程設(shè)計(jì)名稱(chēng):數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)&

4、lt;/p><p>  設(shè)計(jì)題目: 簡(jiǎn)單數(shù)據(jù)的排序 </p><p>  設(shè)計(jì)依據(jù)、要求及主要內(nèi)容(可另加附頁(yè)):</p><p><b>  要求:</b></p><p>  要有較好的界面,能夠進(jìn)行三種算法的選擇。</p><p>  每一種算法要求有實(shí)現(xiàn)的過(guò)程,即能看到運(yùn)行的步驟。<

5、/p><p>  對(duì)于同一組數(shù)據(jù)進(jìn)行三種算排序后,應(yīng)給出相應(yīng)的效率評(píng)估,確定最適合的算法。</p><p>  要求有良好的編程風(fēng)格和注釋。</p><p>  指導(dǎo)教師(簽字): </p><p>  批準(zhǔn)日期: 年 月 日</p><p><b>  摘

6、 要</b></p><p>  本設(shè)計(jì)采用VC作為開(kāi)發(fā)工具,通過(guò)希爾排序、冒泡排序與快速排序方法來(lái)實(shí)現(xiàn)一系列數(shù)據(jù)結(jié)構(gòu)的排序工作。三種方法思路不同,方法各異,體現(xiàn)了排序的多樣性。通過(guò)這次課程設(shè)計(jì),使我們了解更多的排序知識(shí),了解課設(shè)的有關(guān)程序過(guò)程,以掌握更多的排序方法。</p><p>  關(guān)鍵詞:C語(yǔ)言;排序</p><p><b>  目

7、 錄</b></p><p>  1課題描述……………………………………………………………………………。。。1</p><p>  2 邏輯設(shè)計(jì)……………………………………………………………………………2</p><p>  3 詳細(xì)設(shè)計(jì)………………………………………………………………………………4</p><p>  4 程序代

8、碼……………………………………………………………………………6</p><p>  5程序調(diào)試與測(cè)試………………………………………………………………………12</p><p>  6總結(jié)……………………………………………………………………………………14</p><p>  參考文獻(xiàn)………………………………………………………………………………15</p>

9、<p><b>  1 課題描述</b></p><p>  1.1 課題的現(xiàn)實(shí)意義</p><p>  現(xiàn)實(shí)學(xué)習(xí)生活中,常會(huì)遇到一些數(shù)目較大數(shù)據(jù)繁雜的數(shù)值進(jìn)行排序,徒手進(jìn)行排序很困難,這時(shí)候我們就希望有一個(gè)小軟件來(lái)幫忙,所以便著手開(kāi)發(fā)了這個(gè)對(duì)數(shù)據(jù)進(jìn)行有序排序的程序,以便用于自己的學(xué)習(xí)工作。這些大大方便了我們的生活給我們更多的選擇和實(shí)現(xiàn)方式。</p

10、><p>  這個(gè)程序可以直接輸入多個(gè)數(shù)據(jù),不需要任何轉(zhuǎn)換,就可以直接輸出這些數(shù)據(jù)排序后的結(jié)果并輸出移動(dòng)的次數(shù)。并且從操作簡(jiǎn)單、界面清晰、靈活、實(shí)用、方便等要求出發(fā),它所能完成的主要計(jì)算功能有以下幾個(gè)方面:冒泡排序,快速排序,希爾排序。計(jì)算器的設(shè)計(jì)使我們所學(xué)到的c語(yǔ)言知識(shí)在現(xiàn)實(shí)中得到檢驗(yàn)!</p><p>  信息時(shí)代是科技和經(jīng)濟(jì)發(fā)展的產(chǎn)物,軟件產(chǎn)業(yè)是信息時(shí)代的產(chǎn)物,它在我們的生活工作中發(fā)揮著

11、越來(lái)越大的作用,這個(gè)排序程序的設(shè)計(jì)對(duì)我們知識(shí)的掌握有很大的作用,更能方便他人,可行性很強(qiáng)!</p><p><b>  1.2 軟件環(huán)境</b></p><p>  開(kāi)發(fā)環(huán)境: visual c++ 6.0+Windows XP 操作系統(tǒng)</p><p><b>  2邏輯設(shè)計(jì)</b></p><p&g

12、t;<b>  2.1總設(shè)計(jì)步驟</b></p><p>  總的設(shè)計(jì)過(guò)程不是很難,但是由于在編程過(guò)程中有的粗心大意,或是外部客觀條件,造成了調(diào)試很多次。但最終在老師的幫助下完成了設(shè)計(jì)。</p><p>  第一、在紙上列出提綱,把具體大概的設(shè)計(jì)思路用偽代碼寫(xiě)出。</p><p>  第二、編寫(xiě)代碼,把各個(gè)函數(shù)分別編寫(xiě)出來(lái),快速排序,冒泡排序,

13、希爾排序……。</p><p>  第三、程序上機(jī)運(yùn)行,查找錯(cuò)誤。</p><p>  第四、錯(cuò)誤代碼的分析。查找原因。</p><p>  第五、調(diào)試。對(duì)于運(yùn)行成功的代碼進(jìn)行測(cè)試,看是否符合題目要求。使用多組數(shù)據(jù)進(jìn)行測(cè)試。直至不存在著偶然性。</p><p>  第五、總結(jié)。過(guò)程當(dāng)中有許多庫(kù)函數(shù)的調(diào)用,使用過(guò)程中讓我們對(duì)C語(yǔ)言函數(shù)的深刻了解

14、。</p><p>  第六、編寫(xiě)報(bào)告書(shū)。編寫(xiě)報(bào)告書(shū)的過(guò)程有些復(fù)雜,由于在實(shí)踐過(guò)程當(dāng)中的每一步都要用再次的實(shí)現(xiàn),并用書(shū)面報(bào)告提交。但是這個(gè)充分的是我們對(duì)這個(gè)編程的理解。</p><p>  2.2 三個(gè)主要函數(shù)的設(shè)計(jì)原理:</p><p> ?。?)快 速 排 序</p><p>  基本思路:通過(guò)一次分割,將無(wú)序序列分成兩部分,其中一部分的

15、元素值均不大于后一部分的元素值。然后用同樣的方法對(duì)每一部分進(jìn)行分割,一直到每一個(gè)子序列的長(zhǎng)度小于或等于1為止。</p><p>  具體過(guò)程:設(shè)序列P進(jìn)行分割。首先,從第一個(gè)、中間一個(gè)、最后一個(gè)元素中選出中項(xiàng),設(shè)為P[k],并將P[k]賦給t,再將序列中的第一個(gè)元素移到P[k]的位置上。然后,再設(shè)兩個(gè)指針i、j分別指向起始和最后位置上:(1)將i逐漸增大,與此同時(shí)比較P[i]與t的大小,直到發(fā)現(xiàn)P[i]>t

16、,將P[i]移到P[j]的位置上;(2)將j逐漸減小,與此同時(shí)比較P[j]與t的大小,直到發(fā)現(xiàn)P[j]<t,將P[j]移到P[i]的位置上;直到i=j為止,這時(shí)將t移到P[i]的位置上。最后就得到了排序結(jié)果。</p><p> ?。?)冒 泡 排 序</p><p>  目的:按要求從大到小或從小到大排序。</p><p>  基本思路:對(duì)尚未排序的各元素從頭

17、到尾依次依次比較相鄰的兩個(gè)元素是否逆序(與欲排順序相反),若逆序就交換這兩元素,經(jīng)過(guò)第一輪比較排序后便可把最大(或最?。┑脑嘏藕?,然后再用同樣的方法把剩下的元素逐個(gè)進(jìn)行比較,就得到了你所要的順序??梢钥闯鋈绻蠳個(gè)元素,那么一共要進(jìn)行n-1輪比較,第I輪要進(jìn)行j=n-i次比較。(如:有5個(gè)元素,則要進(jìn)行5-1輪比較。第3輪則要進(jìn)行5-3次比較)</p><p> ?。?)希 爾 排 序</p>&

18、lt;p>  基本思想:將整個(gè)無(wú)序序列分割成若干小的子序列分別進(jìn)行插入排序。</p><p>  序列分割方法:將相隔某個(gè)增量h的元素構(gòu)成一個(gè)子序列。在排序過(guò)程中,逐次減小這個(gè)增量,最后當(dāng)h減到1時(shí),進(jìn)行一次插入排序,排序就完成。增量序列一般采用:ht=2t-1,1≤t≤[log2n],其中n為待排序序列的長(zhǎng)度。</p><p><b>  3詳細(xì)設(shè)計(jì)</b>&

19、lt;/p><p>  3.1希爾排序函數(shù)的設(shè)計(jì)</p><p>  int Shell(int num[],int n,int d)</p><p><b>  {</b></p><p>  int i,j,t,k=0;</p><p>  for(i=0;i<d;i++)</p>

20、;<p><b>  {</b></p><p>  for(j=i;j<n;j+=d)</p><p><b>  {</b></p><p>  for(t=j+d;t<n;t+=n)</p><p><b>  {</b></p>

21、<p>  if(num[j]>num[t])</p><p><b>  {</b></p><p>  num[t]=num[t]+num[j];</p><p>  num[j]=num[t]-num[j];</p><p>  num[t]=num[t]-num[j];</p>&l

22、t;p><b>  k=k+3;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>&l

23、t;p><b>  return k;</b></p><p><b>  }</b></p><p>  int sort5(int num[],int n)</p><p><b>  {</b></p><p>  int i,j,k=0;</p>&

24、lt;p>  for(i=2;n/i;i++)</p><p><b>  {</b></p><p><b>  j=n/i;</b></p><p>  k+=Shell(num,n,j);</p><p><b>  }</b></p><p&g

25、t;<b>  return k;</b></p><p><b>  }}</b></p><p>  3.2快速排序函數(shù)的設(shè)計(jì)</p><p>  int Quick(int num[],int low,int high)</p><p><b>  {</b></p

26、><p>  int low1=low,high1=high;</p><p>  int pivotkey=num[low];</p><p><b>  int k=0;</b></p><p>  while(low<high)</p><p><b>  {</b>

27、</p><p>  while(low<high&&pivotkey<=num[high])high--;</p><p>  num[low]=num[high];k++;</p><p>  while(low<high&&pivotkey>=num[low])low++;</p><

28、p>  num[high]=num[low];k++;</p><p><b>  }</b></p><p>  num[low]=pivotkey;k++;</p><p>  if(low-low1>1&&low<=high1)k+=Quick(num,low1,low-1);</p>&l

29、t;p>  if(high1-high>1&&high>=low1)k+=Quick(num,high+1,high1);</p><p><b>  return k;</b></p><p><b>  }</b></p><p>  int sort6(int num[],int n

30、)</p><p><b>  {</b></p><p>  int k,low=0,high=n-1;</p><p>  k=Quick(num,low,high);</p><p><b>  return k;</b></p><p><b>  }<

31、;/b></p><p>  3.3冒泡排序函數(shù)的設(shè)計(jì)</p><p>  int sort15(int num[],int n)</p><p><b>  {</b></p><p>  int k=0,i=0,j;</p><p>  while(i<n-1)</p>

32、<p><b>  {</b></p><p><b>  j=0;</b></p><p>  while(j<n-i-1)</p><p><b>  {</b></p><p>  if(num[j]>num[j+1])</p>&

33、lt;p><b>  {</b></p><p>  num[j]=num[j]+num[j+1];</p><p>  num[j+1]=num[j]-num[j+1];</p><p>  num[j]=num[j]-num[j+1];</p><p><b>  k+=3;</b><

34、;/p><p><b>  }</b></p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  i++;</b></p><p><b>  }</b>&l

35、t;/p><p><b>  return k;</b></p><p><b>  4程序原代碼</b></p><p>  #include<iostream></p><p>  #include<conio.h></p><p>  #includ

36、e<stdlib.h></p><p>  #include<cmath></p><p>  #define max 20</p><p>  using namespace std;</p><p>  typedef struct</p><p><b>  {</b>

37、;</p><p>  int num[max+1];</p><p><b>  int n;</b></p><p><b>  }str;</b></p><p>  typedef struct str12</p><p><b>  {</b>

38、</p><p><b>  int num;</b></p><p>  struct str12 *next;</p><p><b>  }str12;</b></p><p><b>  //希爾排序</b></p><p>  int Shel

39、l(int num[],int n,int d)</p><p><b>  {</b></p><p>  int i,j,t,k=0;</p><p>  for(i=0;i<d;i++)</p><p><b>  {</b></p><p>  for(j=i;

40、j<n;j+=d)</p><p><b>  {</b></p><p>  for(t=j+d;t<n;t+=n)</p><p><b>  {</b></p><p>  if(num[j]>num[t])</p><p><b>  {&

41、lt;/b></p><p>  num[t]=num[t]+num[j];</p><p>  num[j]=num[t]-num[j];</p><p>  num[t]=num[t]-num[j];</p><p><b>  k=k+3;</b></p><p><b> 

42、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return k;</b></p><p><b&g

43、t;  }</b></p><p>  int sort5(int num[],int n)</p><p><b>  {</b></p><p>  int i,j,k=0;</p><p>  for(i=2;n/i;i++)</p><p><b>  {</b

44、></p><p><b>  j=n/i;</b></p><p>  k+=Shell(num,n,j);</p><p><b>  }</b></p><p><b>  return k;</b></p><p><b>  }

45、</b></p><p><b>  //快速排序</b></p><p>  int Quick(int num[],int low,int high)</p><p><b>  {</b></p><p>  int low1=low,high1=high;</p>

46、<p>  int pivotkey=num[low];</p><p><b>  int k=0;</b></p><p>  while(low<high)</p><p><b>  {</b></p><p>  while(low<high&&piv

47、otkey<=num[high])high--;</p><p>  num[low]=num[high];k++;</p><p>  while(low<high&&pivotkey>=num[low])low++;</p><p>  num[high]=num[low];k++;</p><p>&l

48、t;b>  }</b></p><p>  num[low]=pivotkey;k++;</p><p>  if(low-low1>1&&low<=high1)k+=Quick(num,low1,low-1);</p><p>  if(high1-high>1&&high>=low1)k+

49、=Quick(num,high+1,high1);</p><p><b>  return k;</b></p><p><b>  }</b></p><p>  int sort6(int num[],int n)</p><p><b>  {</b></p>

50、;<p>  int k,low=0,high=n-1;</p><p>  k=Quick(num,low,high);</p><p><b>  return k;</b></p><p><b>  }</b></p><p><b>  //冒泡排序</b&g

51、t;</p><p>  int sort15(int num[],int n)</p><p><b>  {</b></p><p>  int k=0,i=0,j;</p><p>  while(i<n-1)</p><p><b>  {</b></p&

52、gt;<p><b>  j=0;</b></p><p>  while(j<n-i-1)</p><p><b>  {</b></p><p>  if(num[j]>num[j+1])</p><p><b>  {</b></p>

53、<p>  num[j]=num[j]+num[j+1];</p><p>  num[j+1]=num[j]-num[j+1];</p><p>  num[j]=num[j]-num[j+1];</p><p><b>  k+=3;</b></p><p><b>  }</b>

54、</p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  return k;&

55、lt;/b></p><p><b>  }</b></p><p>  int Begin()</p><p><b>  {</b></p><p>  cout<<"\t\t#============================================#

56、"<<endl;</p><p>  cout<<"\t\t| 本軟件使用說(shuō)明 |"<<endl;</p><p>  cout<<"\t\t#============================================#"&

57、lt;<endl;</p><p>  cout<<"\t\t| 為了方便測(cè)試,本軟件自帶了三組數(shù)據(jù),按 |"<<endl;</p><p>  cout<<"\t\t| 'o'或'O'以外的任意鍵即自行調(diào)用默認(rèn)的測(cè)試數(shù) |"<<endl;</p>

58、;<p>  cout<<"\t\t| 據(jù),而不需要用戶(hù)輸入數(shù)據(jù)。如果對(duì)默認(rèn)的數(shù)據(jù) |"<<endl;</p><p>  cout<<"\t\t| 持有質(zhì)疑,你可以按'O'或'o'鍵,然后輸入你的 |"<<endl;</p><p>  cout<&

59、lt;"\t\t| 數(shù)據(jù),數(shù)據(jù)與數(shù)據(jù)之間用空格鍵格開(kāi),輸入完畢 |"<<endl;</p><p>  cout<<"\t\t| 用回車(chē)結(jié)束,否則按錯(cuò)誤處理。為了減少不必要 |"<<endl;</p><p>  cout<<"\t\t| 的麻煩,允許輸入數(shù)據(jù)的個(gè)數(shù)被限定為最多15個(gè) |&qu

60、ot;<<endl;</p><p>  cout<<"\t\t| 過(guò)多的輸入就會(huì)被打斷,或者整數(shù)位數(shù)超過(guò)八位 |"<<endl;</p><p>  cout<<"\t\t| 本軟件就會(huì)認(rèn)為此數(shù)輸入結(jié)束,并輸出空格,并 |"<<endl;</p><p>  cou

61、t<<"\t\t| 將接下來(lái)的輸入計(jì)為下一個(gè)數(shù)。請(qǐng)按任意鍵… |"<<endl;</p><p>  cout<<"\t\t| 2009年 |"<<endl;</p><p>  cout<<"\t\t#=

62、===========================================#"<<endl;</p><p>  cout<<"\t\t#============================================#"<<endl;</p><p>  int choice=getch();syste

63、m("cls");</p><p>  if(79==choice||111==choice)return 1;</p><p>  else return 0;</p><p><b>  }</b></p><p>  void main()</p><p><b&g

64、t;  {</b></p><p>  int i,j=0,k;</p><p><b>  str d[3];</b></p><p>  char data[10];</p><p>  int read=1;</p><p>  for(i=0;i<15;i+=2)d[0]

65、.num[j++]=15-i;</p><p>  for(i=1;i<15;i+=2)d[0].num[j++]=15-i;</p><p>  d[0].n=15;</p><p>  for(i=0;i<15;i++)d[1].num[i]=15-i;</p><p>  d[1].n=15;</p><

66、p>  for(i=0;i<15;i++)d[2].num[i]=i+1;</p><p>  d[2].n=15;</p><p><b>  str num;</b></p><p>  int t=Begin();</p><p><b>  if(0==t)</b></p&

67、gt;<p><b>  {</b></p><p>  for(j=0;j<3;j++)</p><p><b>  {</b></p><p>  num=d[j];cout<<"\t原始數(shù)據(jù)為:";</p><p>  for(i=0;i&l

68、t;num.n;i++)cout<<num.num[i]<<" ";</p><p>  cout<<"1、 希爾排序 :";</p><p>  k=sort5(num.num,num.n); </p><p>  for(i=0;i<num.n;i++)cout&

69、lt;<num.num[i]<<" ";</p><p>  cout<<"\t數(shù)據(jù)移動(dòng)次數(shù)為:"<<k<<endl;</p><p><b>  num=d[j];</b></p><p>  cout<<"2、 快速排序

70、:";</p><p>  k=sort6(num.num,num.n); </p><p>  for(i=0;i<num.n;i++)cout<<num.num[i]<<" ";</p><p>  cout<<"\t數(shù)據(jù)移動(dòng)次數(shù)為:"<<k&l

71、t;<endl;</p><p><b>  num=d[j];</b></p><p>  cout<<"3、 冒泡排序 :";</p><p>  k=sort15(num.num,num.n); </p><p>  for(i=0;i<num.n;i++

72、)cout<<num.num[i]<<" ";</p><p>  cout<<"\t數(shù)據(jù)移動(dòng)次數(shù)為:"<<k<<endl;</p><p><b>  }</b></p><p><b>  }</b></p>

73、<p><b>  else</b></p><p><b>  {</b></p><p>  cout<<"請(qǐng)輸入測(cè)試數(shù)據(jù):"<<endl;</p><p>  for(i=0;i<20&&read;i++)</p><

74、p><b>  {</b></p><p>  for(j=0;data[j]=getch();j++)</p><p><b>  {</b></p><p>  if(data[j]==13)</p><p><b>  {</b></p><p&

75、gt;  if(j&&data[j-1]!=43&&data[j-1]!=45)d[0].num[i]=atoi(data);</p><p><b>  else i--;</b></p><p>  cout<<endl<<endl;</p><p><b>  break;

76、</b></p><p><b>  }</b></p><p>  else if(data[j]>57||(data[j]<48&&data[j]!=32&&data[j]!=43&&data[j]!=45))</p><p><b>  {</b>

77、;</p><p><b>  read=0;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  else if(j&&(data[j]==43||data[j]==45))</p>

78、<p><b>  {</b></p><p><b>  read=0;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  else if(j&&j<

79、8&&data[j]==32)</p><p><b>  {</b></p><p>  d[0].num[i]=atoi(data);</p><p>  cout<<" ";</p><p><b>  break;</b></p>

80、<p><b>  }</b></p><p>  else if(j==8)</p><p><b>  {</b></p><p>  d[0].num[i]=atoi(data);</p><p>  cout<<data[j]<<" &quo

81、t;;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  else cout<<data[j];</p><p><b>  }</b></p><p>  if(i==14||da

82、ta[j]==13)break;</p><p><b>  }</b></p><p><b>  if(read)</b></p><p><b>  {</b></p><p>  d[0].n=i+1;j=0;system("cls");</p

83、><p>  num=d[j];cout<<"\t原始數(shù)據(jù)為:";</p><p>  for(i=0;i<num.n;i++)cout<<num.num[i]<<" ";cout<<'\n';</p><p>  cout<<"1、 希

84、爾排序 :";</p><p>  k=sort5(num.num,num.n); </p><p>  for(i=0;i<num.n;i++)cout<<num.num[i]<<" ";</p><p>  cout<<"\t數(shù)據(jù)移動(dòng)次數(shù)為:"<&l

85、t;k<<endl;</p><p><b>  num=d[j];</b></p><p>  cout<<"2、 快速排序 :";</p><p>  k=sort6(num.num,num.n); </p><p>  for(i=0;i<num.

86、n;i++)cout<<num.num[i]<<" ";</p><p>  cout<<"\t數(shù)據(jù)移動(dòng)次數(shù)為:"<<k<<endl;</p><p><b>  num=d[j];</b></p><p>  cout<<"

87、;3、 冒泡排序 :";</p><p>  k=sort15(num.num,num.n); </p><p>  for(i=0;i<num.n;i++)cout<<num.num[i]<<" ";</p><p>  cout<<"\t數(shù)據(jù)移動(dòng)次數(shù)為:"

88、<<k<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(read)</b></p><p><b>  {</b></p><p&g

89、t;  getch();system("cls");</p><p>  cout<<endl<<"\t是否繼續(xù)?(y/n)";</p><p>  while(read)</p><p><b>  {</b></p><p>  t=getch();&l

90、t;/p><p>  if(t==13||t==78||t==89||t==110||t==121)read=0;</p><p>  else cout<<endl<<"請(qǐng)輸入回車(chē) 或 n(N) 或 y(Y) 作選擇… "<<endl;</p><p><b>  }</b></p&g

91、t;<p>  if(t==13||t==89||t==121)</p><p><b>  {</b></p><p>  system("cls");</p><p><b>  main();</b></p><p><b>  }</b>

92、;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  system("cls");</p><p><b>  main();&

93、lt;/b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5程序調(diào)試與測(cè)試</b></p><p>  程序調(diào)試是指對(duì)程序的查錯(cuò)和排錯(cuò)。為了便于查錯(cuò)、閱讀,在設(shè)計(jì)該程序的過(guò)程中我們采用了結(jié)構(gòu)化程序方法編輯,添

94、加了盡可能多的注釋?zhuān)@就為接下來(lái)的調(diào)試過(guò)程帶來(lái)了很多方便。</p><p>  經(jīng)過(guò)仔細(xì)檢查之后進(jìn)行上機(jī)調(diào)試。進(jìn)行編譯,如果在編譯和連接過(guò)程中發(fā)現(xiàn)錯(cuò)誤,屏幕上顯示了出錯(cuò)信息,根據(jù)提示找到出錯(cuò)的位置,加以改正,再進(jìn)行編譯……如此反復(fù),直到順利通過(guò)編譯和連接為止。在本次實(shí)習(xí)過(guò)程中碰到的編譯、連接的錯(cuò)誤主要有:缺少變量定義,定義位置不正確、語(yǔ)法錯(cuò)誤、轉(zhuǎn)義字符漏用、邏輯錯(cuò)誤等。</p><p>&

95、lt;b>  5.1錯(cuò)誤原因分析</b></p><p><b>  出現(xiàn)以下提示:</b></p><p><b>  圖1</b></p><p>  根據(jù)電腦所給的提示出現(xiàn)語(yǔ)法錯(cuò)誤,缺少變量的定義大多的語(yǔ)法錯(cuò)誤在通過(guò)書(shū)本參考下能夠修改。主要是平時(shí)看書(shū)不仔細(xì)、不太注意而產(chǎn)生的。如沒(méi)有注意具體數(shù)據(jù)使用是

96、有一定的范圍限定;過(guò)分重視分號(hào)的重要性而在for、if、while語(yǔ)句中畫(huà)蛇添足加分號(hào)。由于此程序需要的結(jié)果很多,所以得一一例舉面:</p><p>  5.2進(jìn)入程序主界面如下:</p><p><b>  圖2</b></p><p>  5.3要求輸入數(shù)據(jù)界面如下:</p><p><b>  圖3<

97、;/b></p><p>  5.4輸入數(shù)據(jù)界面如下:</p><p><b>  圖4</b></p><p>  5.5運(yùn)行結(jié)果界面如下:</p><p><b>  圖5</b></p><p><b>  6 總結(jié)</b></p>

98、;<p>  這次課程設(shè)計(jì)使我收獲很大,對(duì)我以前學(xué)習(xí)的知識(shí)進(jìn)行了綜合性的考察,這次課程設(shè)計(jì)我主要是應(yīng)用以前學(xué)習(xí)的C語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)的一些知識(shí)才完成了這個(gè)數(shù)據(jù)排序的課程設(shè)計(jì)。</p><p>  首先,綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí),再次,我在課程設(shè)計(jì)中碰到了很多的問(wèn)題,我通過(guò)查閱相關(guān)書(shū)籍,資料,通過(guò)自己鉆研,特別是得到了高虎老師的諄諄教

99、導(dǎo),高老師給予了我很大的幫助,不僅給了我思路上的開(kāi)闊,還讓我認(rèn)識(shí)到了自己對(duì)以前所學(xué)知識(shí)的不足方面。</p><p>  隨著社會(huì)發(fā)展,以及軟件事業(yè)飛速發(fā)展,人們對(duì)各類(lèi)軟件的要求越來(lái)越迫切,這次的課程設(shè)計(jì)我主要應(yīng)用所學(xué),通過(guò)在visual c++編程環(huán)境下,運(yùn)用函數(shù)定義與調(diào)用的知識(shí),進(jìn)行基于各種排序函數(shù)的設(shè)計(jì),它易于實(shí)現(xiàn)對(duì)數(shù)據(jù)的排序并且能夠比較出哪種排序的優(yōu)越性,這是它的一大優(yōu)勢(shì)。</p><p

100、>  當(dāng)然,通過(guò)這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,我會(huì)不斷的完善自我,不斷進(jìn)取,能使自己在C語(yǔ)言編程這方面有一個(gè)大的發(fā)展。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 蕭秋水,文娟.網(wǎng)絡(luò)編程之vb篇[M].北京.清華出版社。</p><p>  [2] 方敏,張彤.網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)[

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論