數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-走迷宮_第1頁(yè)
已閱讀1頁(yè),還剩16頁(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)</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  設(shè)計(jì)題目:走迷宮游戲</p><p>  專(zhuān) 業(yè):計(jì)算機(jī)科技</p><p>  院 系:計(jì)算機(jī)學(xué)院</p><p>  姓 名: xxx

2、xxxxx</p><p>  學(xué) 號(hào): xxxxxxxxx</p><p>  時(shí)間:2013年10月10日</p><p><b>  目 錄</b></p><p>  一、課程設(shè)計(jì)的目的………………………………………………………………..2</p><p>  二、需求分析…………

3、………………………………………………………………..2</p><p>  三、課程設(shè)計(jì)報(bào)告內(nèi)容…………………………………………………………..3</p><p>  1.概要設(shè)計(jì)………………………………………………………………………………………..3</p><p>  2.詳細(xì)設(shè)計(jì)………………………………………….…………………………………………….4</

4、p><p>  3.調(diào)試分析…………………………………………………..……………………………………9</p><p>  4.用戶(hù)手冊(cè)………………………………………………………………………………………..9</p><p>  5.測(cè)試結(jié)果……………………………………………………………………………………..10</p><p>  6.程序清單…

5、…………………………………………………………………………………..11</p><p>  四、小結(jié)……………………………………………………16 </p><p>  五、參考文獻(xiàn)…………………………………………16</p><p><b>  一、課程設(shè)計(jì)的目的</b></p><p>  (1) 熟練使用 C 語(yǔ)言編

6、寫(xiě)程序,解決實(shí)際問(wèn)題;</p><p>  (2) 了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)計(jì)能力;</p><p>  (3) 初步掌握軟件開(kāi)發(fā)過(guò)程的問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能;</p><p>  (4) 提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問(wèn)題的能力;</p><p><b>

7、;  二、需求分析</b></p><p>  程序開(kāi)始運(yùn)行時(shí)顯示一個(gè)迷宮地圖,迷宮中央有一只老鼠,迷宮的右下方有一個(gè)糧倉(cāng)。游戲的任務(wù)是使用鍵盤(pán)上的方向鍵操縱老鼠在規(guī)定的時(shí)間內(nèi)走到糧倉(cāng)處。</p><p><b>  要求:</b></p><p>  ①老鼠形象可辨認(rèn),可用鍵盤(pán)操縱老鼠上下左右移動(dòng);</p><

8、p> ?、诿詫m的墻足夠結(jié)實(shí),老鼠不能穿墻而過(guò);</p><p> ?、壅_檢測(cè)結(jié)果,若老鼠在規(guī)定時(shí)間內(nèi)走到糧倉(cāng)處,提示成功,否則提示失?。?lt;/p><p> ?、芴砑泳庉嬅詫m功能,可修改當(dāng)前迷宮,修改內(nèi)容:墻變路、路變墻;</p><p>  ⑤找出走出迷宮的所有路徑,以及最短路徑。</p><p>  利用序列化功能實(shí)現(xiàn)迷宮地圖文件的

9、存盤(pán)和讀出等功能</p><p><b>  三、實(shí)驗(yàn)報(bào)告內(nèi)容</b></p><p><b>  1 概要設(shè)計(jì)</b></p><p><b>  具體要求</b></p><p> ?、贅?gòu)建一個(gè)二維數(shù)組maze[M+2][N+2]用于存儲(chǔ)迷宮矩陣</p>&l

10、t;p>  ②自動(dòng)或手動(dòng)生成迷宮,即為二維數(shù)組maze[M+2][N+2]賦值</p><p> ?、蹣?gòu)建一個(gè)隊(duì)列用于存儲(chǔ)迷宮路徑</p><p>  ④建立迷宮節(jié)點(diǎn)struct point,用于存儲(chǔ)迷宮中每個(gè)節(jié)點(diǎn)的訪(fǎng)問(wèn)情況</p><p> ?、輰?shí)現(xiàn)搜索算法⑥屏幕上顯示操作菜單</p><p> ?。?)本程序包含10個(gè)函數(shù):<

11、;/p><p>  ①主函數(shù) main()</p><p> ?、谑謩?dòng)生成迷宮函數(shù) shoudong_maze()</p><p> ?、圩詣?dòng)生成迷宮函數(shù) zidong_maze()</p><p>  ④將迷宮打印成圖形 print_maze()</p><p> ?、荽蛴∶詫m路徑 (若存在路徑) result_maze

12、()</p><p> ?、奕腙?duì) enqueue()</p><p> ?、叱鲫?duì) dequeue()</p><p> ?、嗯袛嚓?duì)列是否為空 is_empty()</p><p> ?、嵩L(fǎng)問(wèn)節(jié)點(diǎn) visit()</p><p> ?、馑阉髅詫m路徑 mgpath()</p><p><b&g

13、t;  2 詳細(xì)設(shè)計(jì)</b></p><p>  實(shí)現(xiàn)概要設(shè)計(jì)中定義的所有數(shù)據(jù)類(lèi)型及操作的偽代碼算法</p><p><b>  節(jié)點(diǎn)類(lèi)型和指針類(lèi)型</b></p><p>  迷宮矩陣類(lèi)型:int maze[M+2][N+2];為方便操作使其為全局變量</p><p>  迷宮中節(jié)點(diǎn)類(lèi)型及隊(duì)列類(lèi)型:stru

14、ct point{int row,col,predecessor} que[512]</p><p><b>  迷宮的操作</b></p><p><b>  (1)手動(dòng)生成迷宮</b></p><p>  void shoudong_maze(int m,int n)</p><p>  {定義

15、i,j為循環(huán)變量</p><p><b>  for(i<=m)</b></p><p><b>  for(j<=n)</b></p><p>  輸入maze[i][j]的值</p><p><b>  }</b></p><p><

16、;b>  (2)自動(dòng)生成迷宮</b></p><p>  void zidong_maze(int m,int n)</p><p>  {定義i,j為循環(huán)變量</p><p><b>  for(i<=m)</b></p><p><b>  for(j<=n)</b>

17、;</p><p>  maze[i][j]=rand()%2 //由于rand()產(chǎn)生的隨機(jī)數(shù)是從0到RAND_MAX,RAND_MAX是定義在stdlib.h中的,其值至少為32767),要產(chǎn)生從X到Y(jié)的數(shù),只需要這樣寫(xiě):k=rand()%(Y-X+1)+X;</p><p><b>  }</b></p><p><b> 

18、 (3)打印迷宮圖形</b></p><p>  void print_maze(int m,int n)</p><p>  {用i,j循環(huán)變量,將maze[i][j]輸出 □、■}</p><p><b>  (4)打印迷宮路徑</b></p><p>  void result_maze(int m,i

19、nt n)</p><p>  {用i,j循環(huán)變量,將maze[i][j]輸出 □、■、☆}</p><p><b>  搜索迷宮路徑</b></p><p> ?、倜詫m中隊(duì)列入隊(duì)操作</p><p>  void enqueue(struct point p)</p><p>  {將p放入隊(duì)尾

20、,tail++}</p><p> ?、诿詫m中隊(duì)列出隊(duì)操作</p><p>  struct point dequeue(struct point p)</p><p>  {head++,返回que[head-1]}</p><p><b>  ③判斷隊(duì)列是否為空</b></p><p>  i

21、nt is_empty()</p><p>  {返回head==tail的值,當(dāng)隊(duì)列為空時(shí),返回0}</p><p> ?、茉L(fǎng)問(wèn)迷宮矩陣中節(jié)點(diǎn)</p><p>  void visit(int row,int col,int maze[41][41])</p><p>  {建立新的隊(duì)列節(jié)點(diǎn)visit_point,將其值分別賦為row,co

22、l,head-1,maze[row][col]=2,表示該節(jié)點(diǎn)以被訪(fǎng)問(wèn)過(guò);調(diào)用enqueue(visit_point),將該節(jié)點(diǎn)入隊(duì)}</p><p><b>  ⑤路徑求解</b></p><p>  void mgpath(int maze[41][41],int m,int n)</p><p>  {先定義入口節(jié)點(diǎn)為struct poi

23、nt p={0,0,-1},從maze[0][0]開(kāi)始訪(fǎng)問(wèn)。如果入口處即為障礙,則此迷宮無(wú)解,返回0 ,程序結(jié)束。否則訪(fǎng)問(wèn)入口節(jié)點(diǎn),將入口節(jié)點(diǎn)標(biāo)記為訪(fǎng)問(wèn)過(guò)maze[p.row][p.col]=2,調(diào)用函數(shù)enqueue(p)將該節(jié)點(diǎn)入隊(duì)。</p><p>  判斷隊(duì)列是否為空,當(dāng)隊(duì)列不為空時(shí),則運(yùn)行以下操作:</p><p>  { 調(diào)用dequeue()函數(shù),將隊(duì)頭元素返回給p,<

24、/p><p>  如果p.row==m-1且p.col==n-1,即到達(dá)出口節(jié)點(diǎn),即找到了路徑,結(jié)束</p><p>  如果p.col+1<n且maze[p.row][p.col+1]==0,說(shuō)明未到迷宮右邊界,且其右方有通路,則visit(p.row,p.col+1,maze),將右邊節(jié)點(diǎn)入隊(duì)標(biāo)記已訪(fǎng)問(wèn)</p><p>  如果p.row+1<m且maz

25、e[p.row+1][p.col]==0,說(shuō)明未到迷宮下邊界,且其下方有通路,則visit(p.row+1,p.col,maze),將下方節(jié)點(diǎn)入隊(duì)標(biāo)記已訪(fǎng)問(wèn)</p><p>  如果p.col-1>0且maze[p.row][p.col-1]==0,說(shuō)明未到迷宮左邊界,且其左方有通路,則visit(p.row,p.col-1,maze),將左方節(jié)點(diǎn)入隊(duì)標(biāo)記已訪(fǎng)問(wèn)</p><p>  

26、如果p.row-1>0且maze[p.row-1][p.col]==0,說(shuō)明未到迷宮上邊界,且其上方有通路,則visit(p.row,p.col+1,maze),將上方節(jié)點(diǎn)入隊(duì)標(biāo)記已訪(fǎng)問(wèn)</p><p><b>  }</b></p><p>  訪(fǎng)問(wèn)到出口(找到路徑)即p.row==m-1且p.col==n-1,則逆序?qū)⒙窂綐?biāo)記為3即maze[p.row][p

27、.col]==3;</p><p>  while(p.predecessor!=-1)</p><p>  {p=queue[p.predecessor]; maze[p.row][p.col]==3;}</p><p>  最后將路徑圖形打印出來(lái)。</p><p><b>  菜單選擇</b></p>

28、<p>  while(cycle!=(-1))</p><p><b>  {</b></p><p>  printf("╔═══════════════════════════╗\n");</p><p>  printf("║ 歡迎進(jìn)入走迷宮游戲演示系統(tǒng)

29、 ║\n");</p><p>  printf("║ ---------------------------------------------- ║\n");</p><p>  printf("║ -1. 手動(dòng)生成迷宮 ║\n&quo

30、t;);</p><p>  printf("║ -2.系統(tǒng)自動(dòng)生成迷宮 ║\n");</p><p>  printf("║ -3.退出系統(tǒng) ║\n");</p><p> 

31、 printf("╚═══════════════════════════╝\n");</p><p>  printf(">>>>>>>\n");</p><p>  printf("請(qǐng)選擇你的操作 [ ]\b\b");</p><p>  scanf("

32、;%d",&i);</p><p><b>  switch(i)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  printf("\n請(qǐng)輸入行數(shù) [ ]\b\b");

33、scanf("%d",&m);</p><p>  printf("\n");</p><p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p>  while((m<=0||m>39)||(n<=0||

34、n>39))</p><p><b>  {</b></p><p>  printf("\n抱歉,你輸入的行列數(shù)超出預(yù)設(shè)范圍(0-39,0-39),請(qǐng)重新輸入:\n\n");</p><p>  printf("請(qǐng)輸入行數(shù) [ ]\b\b");scanf("%d",&m

35、);</p><p>  printf("\n");</p><p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p><b>  }</b></p><p>  shoudong_maze(m,n);&

36、lt;/p><p>  print_maze(m,n);</p><p>  mgpath(maze,m,n);</p><p><b>  if(X!=0)</b></p><p>  result_maze(m,n);</p><p>  printf("\n\nPress Enter

37、Contiue!\n");</p><p>  getchar();</p><p>  while(getchar()!='\n');break;</p><p><b>  case 2:</b></p><p>  printf("\n請(qǐng)輸入行數(shù) [ ]\b\b");s

38、canf("%d",&m);</p><p>  printf("\n");</p><p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p>  while((m<=0||m>39)||(n<=0||n

39、>39))</p><p><b>  {</b></p><p>  printf("\n抱歉,你輸入的行列數(shù)超出預(yù)設(shè)范圍(0-39,0-39),請(qǐng)重新輸入!\n\n");</p><p>  printf("請(qǐng)輸入行數(shù) [ ]\b\b");scanf("%d",&m)

40、;</p><p>  printf("\n");</p><p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p><b>  }</b></p><p>  zidong_maze(m,n);<

41、/p><p>  print_maze(m,n);</p><p>  mgpath(maze,m,n);</p><p>  if(X!=0) result_maze(m,n);</p><p>  printf("\n\nPress Enter Contiue!\n");</p><p>  get

42、char();</p><p>  while(getchar()!='\n');break;</p><p>  case 3: cycle=(-1);break;</p><p><b>  default:</b></p><p>  printf("\n");printf(&q

43、uot;你的輸入有誤!\n");</p><p>  printf("\nPress Enter Contiue!\n");getchar();while(getchar()!='\n');break;</p><p><b>  }</b></p><p><b>  }</b&g

44、t;</p><p>  注:具體源代碼見(jiàn)附錄</p><p><b>  3.調(diào)試分析</b></p><p>  在調(diào)試過(guò)程中,首先使用的是棧進(jìn)行存儲(chǔ),但是產(chǎn)生的路徑是多條或不是最短路徑,所以通過(guò)算法比較,改用此算法</p><p><b>  4.用戶(hù)手冊(cè)</b></p><

45、;p>  ①本程序的運(yùn)行環(huán)境為windows7 64位操作系統(tǒng)</p><p> ?、谶M(jìn)入演示程序后即顯示文本方式的用戶(hù)界面</p><p><b>  5.測(cè)試結(jié)果</b></p><p><b>  圖1 手動(dòng)生成迷宮</b></p><p>  圖2 系統(tǒng)自動(dòng)生成迷宮</p>

46、<p><b>  6.程序清單</b></p><p>  #include<stdlib.h></p><p>  #include<stdio.h></p><p>  #define N 39</p><p>  #define M 39</p><p&g

47、t;<b>  int X;</b></p><p>  int maze[N+2][M+2];</p><p>  struct point{</p><p>  int row,col,predecessor;</p><p>  }queue[512];</p><p>  int head

48、=0,tail=0;</p><p>  void shoudong_maze(int m,int n){</p><p><b>  int i,j;</b></p><p>  printf("\n\n");</p><p>  printf("請(qǐng)按行輸入迷宮,0表示通路,1表示障礙:\

49、n\n");</p><p>  for(i=0;i<m;i++)</p><p>  for(j=0;j<n;j++)</p><p>  scanf("%d",&maze[i][j]);</p><p><b>  }</b></p><p>

50、  void zidong_maze(int m,int n){</p><p><b>  int i,j;</b></p><p>  printf("\n迷宮生成中……\n\n");</p><p>  system("pause");</p><p>  for(i=0;i

51、<m;i++)</p><p>  for(j=0;j<n;j++)</p><p>  maze[i][j]=rand()%2;</p><p>  //由于rand()產(chǎn)生的隨機(jī)數(shù)是從0到RAND_MAX</p><p>  //RAND_MAX是定義在stdlib.h中的,其值至少為32767)</p><

52、;p>  //要產(chǎn)生從X到Y(jié)的數(shù),只需要這樣寫(xiě):k=rand()%(Y-X+1)+X; </p><p><b>  }</b></p><p>  void print_maze(int m,int n){</p><p><b>  int i,j;</b></p><p>  print

53、f("\n迷宮生成結(jié)果如下:\n\n");</p><p>  printf("迷宮入口\n");</p><p>  printf("↓");</p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p>

54、;<p>  printf("\n");</p><p>  for(j=0;j<n;j++) </p><p><b>  {</b></p><p>  if(maze[i][j]==0) printf("□");</p><p>  if(maze[i][

55、j]==1) printf("■");}</p><p><b>  }</b></p><p>  printf("→迷宮出口\n");</p><p><b>  }</b></p><p>  void result_maze(int m,int n){

56、</p><p><b>  int i,j;</b></p><p>  printf("迷宮通路(用“鼠”表示)如下所示:\n\t");</p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p>

57、;  printf("\n");</p><p>  for(j=0;j<n;j++){</p><p>  if(maze[i][j]==0||maze[i][j]==2) printf("□");</p><p>  if(maze[i][j]==1) printf("■");</p>

58、<p>  if(maze[i][j]==3) printf("鼠");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void enqueue(st

59、ruct point p){</p><p>  queue[tail]=p;</p><p><b>  tail++;</b></p><p><b>  }</b></p><p>  struct point dequeue(){</p><p><b> 

60、 head++;</b></p><p>  return queue[head-1];</p><p><b>  }</b></p><p>  int is_empty(){</p><p>  return head==tail;</p><p><b>  }<

61、;/b></p><p>  void visit(int row,int col,int maze[41][41]){</p><p>  struct point visit_point={row,col,head-1};</p><p>  maze[row][col]=2;</p><p>  enqueue(visit_poi

62、nt);</p><p><b>  }</b></p><p>  int mgpath(int maze[41][41],int m,int n){</p><p><b>  X=1;</b></p><p>  struct point p={0,0,-1};</p><

63、p>  if(maze[p.row][p.col]==1){</p><p>  printf("\n--------------------------------------------------\n");</p><p>  printf("此迷宮無(wú)解\n\n");</p><p><b>  X=0;

64、</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  maze[p.row][p.col]=2;</p><p>  enqueue(p);</p><p>  while(!is_empty

65、())</p><p><b>  {</b></p><p>  p=dequeue();</p><p>  if((p.row==m-1)&&(p.col==n-1)) break;</p><p>  if((p.col+1<n)&&(maze[p.row][p.col+1]

66、==0)) visit(p.row,p.col+1,maze);</p><p>  if((p.row+1<m)&&(maze[p.row+1][p.col]==0)) visit(p.row+1,p.col,maze);</p><p>  if((p.col-1>=0)&&(maze[p.row][p.col-1]==0)) visit(p

67、.row,p.col-1,maze);</p><p>  if((p.row-1>=0)&&(maze[p.row-1][p.col]==0)) visit(p.row-1,p.col,maze);</p><p><b>  }</b></p><p>  if(p.row==m-1&&p.col==n

68、-1){</p><p>  printf("\n--------------------------------------------------\n");</p><p>  printf("迷宮路徑為:\n");</p><p>  printf("(%d,%d)\n",p.row,p.col);&

69、lt;/p><p>  maze[p.row][p.col]=3;</p><p>  while(p.predecessor!=-1){</p><p>  p=queue[p.predecessor];</p><p>  printf("(%d,%d)\n",p.row,p.col);</p><p&

70、gt;  maze[p.row][p.col]=3;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  printf("\n----------------------

71、----------------------------\n");</p><p>  printf("此迷宮無(wú)解!\n\n");</p><p><b>  X=0;</b></p><p><b>  }</b></p><p><b>  return

72、0;</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  int i,m,n,cycle=0;</p><p>  system("cls");

73、</p><p>  system("color 1f");</p><p>  printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");</p><p>  printf(" ┃㊣ 必做題:走迷宮游戲 ㊣┃\n

74、");</p><p>  printf(" ┃ 姓名:xxxx ┃\n");</p><p>  printf(" ┃ 學(xué)號(hào):xxxxxxxxx ┃\n");</p

75、><p>  printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");</p><p>  while(cycle!=(-1))</p><p><b>  {</b></p><p>  printf("╔════════════════════════

76、══════════╗\n");</p><p>  printf("║ 歡迎進(jìn)入走迷宮游戲演示系統(tǒng) ║\n");</p><p>  printf("║ -------------------------------------------

77、 ║\n");</p><p>  printf("║ 1.手動(dòng)生成迷宮 ║\n");</p><p>  printf("║ 2.系統(tǒng)自動(dòng)生成迷宮

78、 ║\n");</p><p>  printf("║ 3.退出系統(tǒng) ║\n");</p><p>  printf("╚══════════════════════════════════╝\n");</p&g

79、t;<p>  printf(">>>>>>>\n");</p><p>  printf("請(qǐng)選擇你的操作 [ ]\b\b");</p><p>  scanf("%d",&i);</p><p><b>  switch(i)&l

80、t;/b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  printf("\n請(qǐng)輸入行數(shù) [ ]\b\b");scanf("%d",&m);</p><p>  printf(&q

81、uot;\n");</p><p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p>  while((m<=0||m>39)||(n<=0||n>39))</p><p><b>  {</b></p>

82、;<p>  printf("\n抱歉,你輸入的行列數(shù)超出預(yù)設(shè)范圍(0-39,0-39),請(qǐng)重新輸入:\n\n");</p><p>  printf("請(qǐng)輸入行數(shù) [ ]\b\b");scanf("%d",&m);</p><p>  printf("\n");</p>&

83、lt;p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p><b>  }</b></p><p>  shoudong_maze(m,n);</p><p>  print_maze(m,n);</p><p>  

84、mgpath(maze,m,n);</p><p><b>  if(X!=0)</b></p><p>  result_maze(m,n);</p><p>  printf("\n\nPress Enter Contiue!\n");</p><p>  getchar();</p>

85、<p>  while(getchar()!='\n');break;</p><p><b>  case 2:</b></p><p>  printf("\n請(qǐng)輸入行數(shù) [ ]\b\b");scanf("%d",&m);</p><p>  printf(&qu

86、ot;\n");</p><p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p>  while((m<=0||m>39)||(n<=0||n>39))</p><p><b>  {</b></p>

87、<p>  printf("\n抱歉,你輸入的行列數(shù)超出預(yù)設(shè)范圍(0-39,0-39),請(qǐng)重新輸入!\n\n");</p><p>  printf("請(qǐng)輸入行數(shù) [ ]\b\b");scanf("%d",&m);</p><p>  printf("\n");</p>&l

88、t;p>  printf("請(qǐng)輸入列數(shù) [ ]\b\b");scanf("%d",&n);</p><p><b>  }</b></p><p>  zidong_maze(m,n);</p><p>  print_maze(m,n);</p><p>  mgp

89、ath(maze,m,n);</p><p>  if(X!=0) result_maze(m,n);</p><p>  printf("\n\nPress Enter Contiue!\n");</p><p>  getchar();</p><p>  while(getchar()!='\n');

90、break;</p><p>  case 3: cycle=(-1);break;</p><p><b>  default:</b></p><p>  printf("\n");printf("你的輸入有誤!\n");</p><p>  printf("\nPr

91、ess Enter Contiue!\n");getchar();while(getchar()!='\n');break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><

92、p><b>  四、小結(jié)</b></p><p>  通過(guò)這段時(shí)間的課程設(shè)計(jì),我對(duì)計(jì)算機(jī)的應(yīng)用,數(shù)據(jù)結(jié)構(gòu)的作用以及C語(yǔ)言的使用都有了更深的了解。尤其是C語(yǔ)言的進(jìn)步讓我深刻的感受到任何所學(xué)的知識(shí)都需要實(shí)踐,沒(méi)有實(shí)踐就無(wú)法真正理解這些知識(shí)以及掌握它們,使其成為自己的財(cái)富。在理論學(xué)習(xí)和上機(jī)實(shí)踐的各個(gè)環(huán)節(jié)中,通過(guò)自主學(xué)習(xí)和請(qǐng)教老師,我收獲了不少。當(dāng)然也遇到不少的問(wèn)題,也正是因?yàn)檫@些問(wèn)題引發(fā)的思

93、考給我?guī)Я耸斋@。從當(dāng)初不喜歡上機(jī)寫(xiě)程序到現(xiàn)在能主動(dòng)寫(xiě)程序,從當(dāng)初拿著程序不只如何下手到現(xiàn)在知道如何分析問(wèn)題,如何用專(zhuān)業(yè)知識(shí)解決實(shí)際問(wèn)題的轉(zhuǎn)變,我發(fā)現(xiàn)無(wú)論是專(zhuān)業(yè)知識(shí)還是動(dòng)手能力,自己都有很大程度的提高。在這段時(shí)間里,我對(duì)for、while等的循環(huán)函數(shù)用法更加熟悉,逐漸形成了較好的編程習(xí)慣。在老師的指導(dǎo)幫助下,同學(xué)們課余時(shí)間的討論中,這些問(wèn)題都一一得到了解決。在程序的調(diào)試能力上,無(wú)形中得到了許多的提高。</p><p&g

溫馨提示

  • 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)論