2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第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>  課 程 設(shè) 計(jì) 成 果 報(bào) 告</p><p>  題 目: 1.單鏈表的基本操作</p><p><b>  2. 迷宮問(wèn)題</b></p><p>  課 程: 數(shù)據(jù)結(jié)構(gòu)A課程設(shè)計(jì)</p><p>  院 (部): 管理工程學(xué)

2、院</p><p>  專(zhuān) 業(yè): 信息管理與信息系統(tǒng)</p><p>  班 級(jí): </p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </

3、p><p>  完成日期: 2014年1月6日</p><p><b>  目錄</b></p><p>  一、課程設(shè)計(jì)概述1</p><p>  二、課程設(shè)計(jì)題目一1</p><p><b>  [問(wèn)題描述]1</b></p><p

4、><b>  [調(diào)試分析]5</b></p><p>  [運(yùn)行結(jié)果及分析]5</p><p>  三、課程設(shè)計(jì)題目二8</p><p><b>  [問(wèn)題描述]8</b></p><p><b>  [需求分析]8</b></p><p&g

5、t;<b>  [概要設(shè)計(jì)]8</b></p><p><b>  [詳細(xì)設(shè)計(jì)]8</b></p><p><b>  [調(diào)試分析]13</b></p><p>  [運(yùn)行結(jié)果及分析]14</p><p><b>  四、參考文獻(xiàn)15</b>&l

6、t;/p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  一、課程設(shè)計(jì)概述</b></p><p>  本次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)共完成兩個(gè)題:1、單鏈表的基本操作;2、迷宮問(wèn)題。</p><p><b>  使用語(yǔ)言:C</b></p><p&

7、gt;  編譯環(huán)境:vc6.0</p><p><b>  二、課程設(shè)計(jì)題目一</b></p><p><b>  [問(wèn)題描述]</b></p><p><b>  程序清單:</b></p><p>  #include<stdio.h></p>&

8、lt;p>  #include<malloc.h></p><p>  typedef struct lnode</p><p><b>  {</b></p><p>  char value;</p><p>  struct lnode *link;</p><p>  }

9、llistnode;</p><p><b>  //創(chuàng)建單鏈表</b></p><p>  llistnode *creat()</p><p><b>  {</b></p><p>  llistnode *head,*p;</p><p><b>  cha

10、r ch;</b></p><p>  head=(llistnode *)malloc(sizeof(llistnode));</p><p>  head->link=NULL;</p><p>  printf("input:");</p><p>  while((ch=getchar())!=&

11、#39;\n')</p><p><b>  {</b></p><p>  p=(llistnode *)malloc(sizeof(llistnode));</p><p>  p->value=ch;</p><p>  p->link=head->link;</p><

12、;p>  head->link=p;</p><p><b>  }</b></p><p>  return head;</p><p><b>  }</b></p><p><b>  //輸出單鏈表</b></p><p>  v

13、oid print(llistnode *head)</p><p><b>  {</b></p><p>  llistnode *p;</p><p>  printf("\n");</p><p>  p=head->link;</p><p><b>

14、  while(p)</b></p><p><b>  {</b></p><p>  printf("%c",p->value);</p><p>  p=p->link;</p><p><b>  }</b></p><p>

15、;<b>  }</b></p><p>  //查找待查結(jié)點(diǎn)地址</p><p>  llistnode *visitll(llistnode *h,char x)</p><p><b>  {</b></p><p>  llistnode *p;</p><p>  

16、p=h->link;;</p><p>  while((p!=NULL)&&(p->value!=x))</p><p>  p=p->link;</p><p>  return(p);</p><p><b>  }</b></p><p>  //查找待查

17、某結(jié)點(diǎn)的前驅(qū)地址</p><p>  llistnode *predall(llistnode *h,llistnode *q)</p><p><b>  {</b></p><p>  llistnode *p;</p><p>  if(q==h->link)</p><p><

18、b>  p=NULL;</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  p=h;</b></p><p>  while((p!=NULL)&&(p->link!=

19、q))</p><p>  p=p->link;</p><p><b>  }</b></p><p>  return (p);</p><p><b>  }</b></p><p><b>  //插入某結(jié)點(diǎn)</b></p>

20、<p>  void insertll(llistnode *h,llistnode *q,char x)</p><p><b>  {</b></p><p>  llistnode *p,*r;</p><p>  r=(llistnode *)malloc(sizeof(llistnode));</p><

21、p>  r->value=x;</p><p>  if(h->link==q)</p><p>  h->link=r;</p><p><b>  else</b></p><p><b>  {</b></p><p>  p=predall(h

22、,q);</p><p>  p->link=r;</p><p><b>  }</b></p><p>  r->link=q;</p><p><b>  }</b></p><p><b>  //刪除某結(jié)點(diǎn)</b></p>

23、;<p>  void deletell(llistnode *h,llistnode *q)</p><p><b>  {</b></p><p>  llistnode *p;</p><p>  if(h->link==q)</p><p>  h->link=q->link;&l

24、t;/p><p><b>  else</b></p><p><b>  {</b></p><p>  p=predall(h,q);</p><p>  p->link=q->link;</p><p><b>  }</b></p&

25、gt;<p><b>  free(q);</b></p><p><b>  }</b></p><p><b>  main()</b></p><p><b>  {</b></p><p>  llistnode *a;//聲明一個(gè)單

26、鏈表指針</p><p>  llistnode *result=NULL;</p><p>  int choice;</p><p>  char data,data_cz;</p><p>  a=creat();//創(chuàng)建單鏈表</p><p><b>  while(1)</b></

27、p><p><b>  {</b></p><p>  printf("\n以下是單鏈表的應(yīng)用,請(qǐng)選擇:");</p><p>  printf("\n1、遍歷鏈表并依次輸出其的結(jié)點(diǎn)值");</p><p>  printf("\n2、在鏈表中查找是否存在某結(jié)點(diǎn)")

28、;</p><p>  printf("\n3、在鏈表中查找某結(jié)點(diǎn)的前驅(qū)");</p><p>  printf("\n4、在鏈表中查找某結(jié)點(diǎn)的后繼");</p><p>  printf("\n5、在鏈表中插入結(jié)點(diǎn)");</p><p>  printf("\n6、在鏈表

29、中刪除結(jié)點(diǎn)");</p><p>  printf("\n7、退出");</p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p><b>  {</b></p><p>

30、;  case 1: print(a);break;</p><p>  case 2: getchar();</p><p>  printf("請(qǐng)輸入待查結(jié)點(diǎn)的值:");</p><p>  data=getchar();</p><p>  result=visitll(a,data);</p>&l

31、t;p>  if(result!=NULL)</p><p>  printf("%c在鏈表中",data);</p><p><b>  else</b></p><p>  printf("%c不在鏈表中",data);</p><p>  result=NULL;<

32、;/p><p><b>  break;</b></p><p>  case 3: getchar();</p><p>  printf("請(qǐng)輸入待查結(jié)點(diǎn)的值:");</p><p>  data=getchar();</p><p>  result=visitll(a,da

33、ta);</p><p>  if(result==NULL)</p><p><b>  {</b></p><p>  printf("%c不在鏈表中",data);</p><p><b>  break;</b></p><p><b>

34、  }</b></p><p>  result=predall(a,result);</p><p>  if(result!=NULL)</p><p>  printf("%c的前驅(qū)是%c",data,result->value);</p><p><b>  else</b

35、></p><p>  printf("%c沒(méi)有前驅(qū)",data);</p><p>  result=NULL;</p><p><b>  break;</b></p><p>  case 4: getchar();</p><p>  printf("請(qǐng)

36、輸入待查結(jié)點(diǎn)的值:");</p><p>  data=getchar();</p><p>  result=visitll(a,data);</p><p>  if(result==NULL)</p><p><b>  {</b></p><p>  printf("%

37、c不在鏈表中",data);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(result->link!=NULL)</p><p>  printf("%c的后繼是%c",data,result

38、->link->value);</p><p><b>  else</b></p><p>  printf("%c沒(méi)有后繼",data);</p><p>  result=NULL;</p><p><b>  break;</b></p><

39、;p>  case 5: getchar();</p><p>  printf("請(qǐng)輸入待插結(jié)點(diǎn)的值:");</p><p>  data=getchar();</p><p>  getchar();</p><p>  printf("請(qǐng)輸入插入在哪個(gè)結(jié)點(diǎn)前面:");</p>

40、<p>  data_cz=getchar();</p><p>  result=visitll(a,data_cz);</p><p>  if(result==NULL)</p><p><b>  {</b></p><p>  printf("%c不在鏈表中",data);<

41、/p><p><b>  break;</b></p><p><b>  }</b></p><p>  insertll(a,result,data);</p><p><b>  break;</b></p><p>  case 6: getchar

42、();</p><p>  printf("請(qǐng)輸入待刪除結(jié)點(diǎn)的值:");</p><p>  data=getchar();</p><p>  result=visitll(a,data);</p><p>  if(result==NULL)</p><p><b>  {</b

43、></p><p>  printf("%c不在鏈表中",data);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  deletell(a,result);</p><p><b&

44、gt;  break;</b></p><p>  case 7: break;</p><p>  defalut:break;</p><p><b>  }</b></p><p>  if(choice==7)</p><p><b>  break;}}&l

45、t;/b></p><p><b>  要求及提示:</b></p><p>  要求寫(xiě)出每一個(gè)函數(shù)的功能。</p><p>  llistnode *creat():創(chuàng)建單鏈表,并返回頭指針</p><p>  void print(llistnode *head):輸出單鏈表</p><p&

46、gt;  llistnode *visitll(llistnode *h,char x):查找待查結(jié)點(diǎn)x的地址</p><p>  llistnode *predall(llistnode *h,llistnode *q):查找待查某結(jié)點(diǎn)(*q)的前驅(qū)地址</p><p>  void insertll(llistnode *h,llistnode *q,char x):插入某結(jié)點(diǎn)x<

47、;/p><p>  void deletell(llistnode *h,llistnode *q):刪除某結(jié)點(diǎn)(*q)</p><p><b>  [調(diào)試分析]</b></p><p>  通過(guò)單鏈表來(lái)存儲(chǔ)數(shù)據(jù),利用鏈表指針域?qū)φ麄€(gè)單鏈表進(jìn)行操作。</p><p><b>  [運(yùn)行結(jié)果及分析]</b>

48、;</p><p><b>  1.創(chuàng)建:</b></p><p>  2.查找是否存在結(jié)點(diǎn)3,9</p><p>  3.查找8,2的前驅(qū)</p><p>  4.查找8,2的后繼</p><p>  5.插入9到8前面;插入0到2前面</p><p><b>

49、  6.刪除9,2,5</b></p><p><b>  三、課程設(shè)計(jì)題目二</b></p><p><b>  迷宮問(wèn)題</b></p><p><b>  [問(wèn)題描述]</b></p><p><b>  [問(wèn)題描述]</b></p

50、><p>  以一個(gè)m*n的長(zhǎng)方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設(shè)計(jì)一個(gè)程序,對(duì)任意設(shè)定的迷宮,求出一條從入口到出口的通路,或得出沒(méi)有通路的結(jié)論。</p><p><b>  [基本要求]</b></p><p>  實(shí)現(xiàn)一個(gè)以鏈表作存儲(chǔ)結(jié)構(gòu)的棧類(lèi)型,然后編寫(xiě)一個(gè)求解迷宮的非遞歸程序。求得的通路以三元組(i,j,d)的形式輸出,其中:

51、(i,j)指示迷宮中的一個(gè)坐標(biāo),d表示走到下一坐標(biāo)的方向。</p><p>  編寫(xiě)遞歸形式的算法,求得迷宮中所有可能的通路;</p><p>  以方陣形式輸出迷宮及其通路。(選做)</p><p><b>  [需求分析]</b></p><p>  1.編寫(xiě)遞歸形式的算法,求得迷宮中所有可能的通路;以方陣形式輸出迷

52、宮及其通路</p><p>  2.輸入入口坐標(biāo),出口坐標(biāo),求解具體行走過(guò)程,看是否有通路</p><p><b>  [概要設(shè)計(jì)]</b></p><p>  1、void initStack(Stack *p):入棧初始化</p><p>  2、void Push(Stack *p,int x,int y,int

53、d) :入棧具體操作</p><p>  3、void Pop(Stack *p,int last[2],int d) :出棧并讀出前一步的坐標(biāo)</p><p>  4、void initMaze(int Maze[11][10]):建立迷宮</p><p>  5、void Print(int Maze[11][10]):打印出迷宮</p><

54、p>  6、int Ways(Stack *p,int Maze[10][9],int rukou_x,int rukou_y,int chukou_x,int chukou_y,int d) :尋找路徑</p><p>  7、void menu():菜單</p><p>  8、int main():主函數(shù)</p><p>  9.typedef stru

55、ct{ </p><p>  int pos_x[length];</p><p>  int pos_y[length];</p><p><b>  int top; </b></p><p>  int base; </p><p><b>  }Stack;</b>&

56、lt;/p><p><b>  存儲(chǔ)結(jié)構(gòu)體</b></p><p><b>  [詳細(xì)設(shè)計(jì)]</b></p><p>  #include <stdio.h> </p><p>  #include <malloc.h> </p><p>  #inclu

57、de<stdlib.h></p><p>  #define length 50</p><p>  #define d direction //用d代表所走路徑的方向</p><p><b>  int n=-1;</b></p><p>  int step=0; //記錄步數(shù)</p>

58、<p>  typedef struct{ </p><p>  int pos_x[length];//進(jìn)棧坐標(biāo)</p><p>  int pos_y[length];</p><p><b>  int top; </b></p><p>  int base; </p><p>

59、;<b>  }Stack; </b></p><p><b>  //初始化棧</b></p><p>  void initStack(Stack *p) </p><p><b>  { </b></p><p>  p->top=p->base=0; <

60、;/p><p><b>  }</b></p><p><b>  //入棧具體操作</b></p><p>  void Push(Stack *p,int x,int y,int d) </p><p><b>  { </b></p><p><

61、b>  step++;</b></p><p><b>  d=0;</b></p><p><b>  n=n+1; </b></p><p>  p->top=p->top+1; </p><p>  p->pos_x[n]=x; </p>&l

62、t;p>  p->pos_y[n]=y;</p><p><b>  }</b></p><p>  //出棧并讀出前一步的坐標(biāo)</p><p>  void Pop(Stack *p,int read[2],int d) </p><p><b>  { </b></p>

63、<p><b>  step++;</b></p><p><b>  d=0;</b></p><p><b>  n=n-1; </b></p><p>  p->top=p->top-1; </p><p>  read[0]=p->pos_

64、x[n]; </p><p>  read[1]=p->pos_y[n];</p><p><b>  }</b></p><p><b>  //迷宮初始化</b></p><p>  void initMaze(int Maze[11][10])</p><p>&

65、lt;b>  { </b></p><p><b>  int i; </b></p><p>  //周?chē)系K用8表示</p><p>  for(i=0;i<10;i++)</p><p><b>  {</b></p><p>  Maze[0]

66、[i]=8;</p><p>  Maze[10][i]=8;</p><p><b>  }</b></p><p>  for(i=1;i<10;i++)</p><p><b>  {</b></p><p>  Maze[i][0]=8;</p>

67、<p>  Maze[i][9]=8;</p><p><b>  }</b></p><p><b>  //迷宮</b></p><p>  Maze[1][1]=0;Maze[1][2]=0;Maze[1][3]=1;Maze[1][4]=0;</p><p>  Maze[1][5

68、]=0;Maze[1][6]=0;Maze[1][7]=1;Maze[1][8]=0; </p><p>  Maze[2][1]=0;Maze[2][2]=0;Maze[2][3]=1;Maze[2][4]=0;</p><p>  Maze[2][5]=0;Maze[2][6]=0;Maze[2][7]=1;Maze[2][8]=0; </p><p>  Ma

69、ze[3][1]=0;Maze[3][2]=0;Maze[3][3]=0;Maze[3][4]=0;</p><p>  Maze[3][5]=1;Maze[3][6]=1;Maze[3][7]=0;Maze[3][8]=1; </p><p>  Maze[4][1]=0;Maze[4][2]=1;Maze[4][3]=1;Maze[4][4]=1;</p><p&g

70、t;  Maze[4][5]=0;Maze[4][6]=0;Maze[4][7]=1;Maze[4][8]=0; </p><p>  Maze[5][1]=0;Maze[5][2]=0;Maze[5][3]=0;Maze[5][4]=1;</p><p>  Maze[5][5]=0;Maze[5][6]=0;Maze[5][7]=0;Maze[5][8]=0;</p>&

71、lt;p>  Maze[6][1]=0;Maze[6][2]=1;Maze[6][3]=0;Maze[6][4]=0;</p><p>  Maze[6][5]=0;Maze[6][6]=1;Maze[6][7]=0;Maze[6][8]=1;</p><p>  Maze[7][1]=0;Maze[7][2]=1;Maze[7][3]=1;Maze[7][4]=1;</p&g

72、t;<p>  Maze[7][5]=1;Maze[7][6]=0;Maze[7][7]=0;Maze[7][8]=1;</p><p>  Maze[8][1]=1;Maze[8][2]=1;Maze[8][3]=0;Maze[8][4]=0;</p><p>  Maze[8][5]=0;Maze[8][6]=1;Maze[8][7]=0;Maze[8][8]=1;<

73、;/p><p>  Maze[9][1]=1;Maze[9][2]=1;Maze[9][3]=0;Maze[9][4]=0;</p><p>  Maze[9][5]=0;Maze[9][6]=0;Maze[9][7]=0;Maze[9][8]=0;</p><p><b>  } </b></p><p><b>

74、;  //輸出迷宮</b></p><p>  void Print(int Maze[11][10])</p><p><b>  {</b></p><p>  int m,n;</p><p>  printf("迷宮(8代表墻即不通,0代表可通過(guò),1代表不能通過(guò))\n"); &

75、lt;/p><p>  printf("* 1 2 3 4 5 6 7 8 *\n");</p><p>  for(m=0;m<11;m++)</p><p>  {for(n=0;n<10;n++)</p><p><b>  {</b></p><p>  pr

76、intf("%d",Maze[m][n]);</p><p>  printf(" ");</p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  }</b></p>

77、<p><b>  }</b></p><p><b>  //尋找路徑</b></p><p>  int Ways(Stack *p,int Maze[11][10],int rukou_x,int rukou_y,int chukou_x,int chukou_y,int d)</p><p><b

78、>  { </b></p><p><b>  int x,y; </b></p><p>  int read[2]; </p><p>  x=rukou_x; </p><p>  y=rukou_y; </p><p>  printf("第%d步:"

79、,step);</p><p>  printf("(%d,%d,%d)\n",x,y,d);</p><p>  if(x==chukou_x&&y==chukou_y)</p><p><b>  {</b></p><p>  printf("到達(dá)出口坐標(biāo)共走了%d步\

80、n",step);return 0;</p><p><b>  }</b></p><p>  else if(Maze[x][y+1]==0) </p><p><b>  {</b></p><p>  y=y+1;d=1;</p><p>  Push(p,

81、x,y,d);</p><p>  Maze[x][y-1]=1;</p><p>  Maze[x][y]=1;</p><p><b>  } </b></p><p>  else if(Maze[x+1][y]==0) </p><p><b>  {</b><

82、/p><p><b>  x=x+1;</b></p><p><b>  d=2;</b></p><p>  Push(p,x,y,d);</p><p>  Maze[x-1][y]=1;</p><p>  Maze[x][y]=1;</p><p&g

83、t;<b>  } </b></p><p>  else if(Maze[x][y-1]==0) </p><p><b>  {</b></p><p><b>  y=y-1;</b></p><p><b>  d=3;</b></p>

84、<p>  Push(p,x,y,d);</p><p>  Maze[x][y+1]=1;</p><p>  Maze[x][y]=1;</p><p><b>  } </b></p><p>  else if(Maze[x-1][y]==0) </p><p><b&

85、gt;  {</b></p><p><b>  x=x-1;</b></p><p><b>  d=4;</b></p><p>  Push(p,x,y,d);</p><p>  Maze[x+1][y]=1;</p><p>  Maze[x][y]=1

86、;</p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p>  Pop(p,read,d); </p><p>  x=read[0]; </p>

87、<p>  y=read[1];</p><p>  if(p->top==p->base) </p><p><b>  {</b></p><p>  printf("找不到出口\n");</p><p><b>  return 0;</b><

88、/p><p><b>  } </b></p><p><b>  } </b></p><p>  Ways(p,Maze,x,y,chukou_x,chukou_y,d);</p><p><b>  return 1;</b></p><p><

89、b>  } </b></p><p>  void menu()</p><p><b>  {</b></p><p>  printf("************************************\n"); </p><p>  pri

90、ntf("* 2011021674 *\n");</p><p>  printf("* 迷宮求解 *\n");</p><p>  printf("* 選擇: *\n");</p

91、><p>  printf("* 進(jìn)入迷宮***請(qǐng)輸入1 *\n");</p><p>  printf("* 退出迷宮***請(qǐng)輸入0 *\n");</p><p>  printf("************************************\n&q

92、uot;);</p><p>  printf("請(qǐng)輸入您的選擇\n");</p><p><b>  }</b></p><p>  int main() </p><p><b>  { </b></p><p>  Stack *p; </p&

93、gt;<p><b>  Stack S;</b></p><p><b>  p=&S; </b></p><p>  int Maze[11][10];</p><p>  int elem_1[1],elem_2[1],a,j; </p><p>  int rukou_

94、x,rukou_y,d=0;</p><p>  int chukou_x,chukou_y; </p><p>  int sum=0; </p><p>  initMaze(Maze); </p><p><b>  menu();</b></p><p>  scanf("%d

95、",&a);</p><p><b>  if(a==1){</b></p><p>  Print(Maze);</p><p>  printf("請(qǐng)輸入入口坐標(biāo):"); </p><p>  scanf("%d",&elem_1[0]); </

96、p><p>  scanf("%d",&elem_1[1]);</p><p>  rukou_x=elem_1[0];rukou_y=elem_1[1]; </p><p>  printf("請(qǐng)輸入出口坐標(biāo):"); </p><p>  scanf("%d",&ele

97、m_2[0]); </p><p>  scanf("%d",&elem_2[1]);</p><p>  chukou_x=elem_2[0];chukou_y=elem_2[1];</p><p>  if(elem_1[0]>10||elem_1[1]>9||elem_2[0]>10||elem_2[1]>9

98、|| </p><p>  elem_1[0]<0||elem_1[1]<0||elem_2[0]<0||elem_2[1]<0) </p><p><b>  {</b></p><p>  printf("輸入的入口或出口坐標(biāo)錯(cuò)誤\n");</p><p><b>

99、;  }</b></p><p><b>  else </b></p><p>  { printf("\n");</p><p>  printf("說(shuō)明(x,y,z)x,y代表坐標(biāo)點(diǎn);\n");</p><p>  printf("z代表上個(gè)坐標(biāo)到達(dá)

100、這個(gè)坐標(biāo)所走的方向,0為初始值,1234分別代表向右、下、左、上方向\n");</p><p>  printf("查找路徑的具體步驟:\n"); </p><p>  initStack(p); </p><p>  Push(p,rukou_x,rukou_y,d); </p><p>  Ways(p,Ma

101、ze,rukou_x,rukou_y,chukou_x,chukou_y,d); </p><p><b>  } </b></p><p>  return main();</p><p><b>  }</b></p><p><b>  else{</b></p&g

102、t;<p>  printf("退出!\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  [調(diào)試分析]</b></p><p>  本程序主要的操作對(duì)象是記錄數(shù)組,使用的存儲(chǔ)結(jié)

103、構(gòu)是結(jié)構(gòu)體數(shù)組。另外還有對(duì)C語(yǔ)言中 “窮舉求解”方法,即從入口出發(fā),順著某一個(gè)方向進(jìn)行探索,若能走通,則繼續(xù)往前進(jìn);否則沿著原路退回,換一個(gè)方向繼續(xù)探索,直至出口位置,求得一條通路。假如所有可能的通路都探索到而未能到達(dá)出口,則所設(shè)定的迷宮沒(méi)有通路。這是本程序中的一個(gè)重點(diǎn)也是難點(diǎn),是此程序出現(xiàn)問(wèn)題的主要原因之一:</p><p><b>  問(wèn)題一:</b></p><p&

104、gt;  現(xiàn)象:在輸出迷宮矩陣的時(shí)候出現(xiàn)亂碼,無(wú)法顯示正確的迷宮矩陣。</p><p>  原因:程序中print函數(shù)在輸出的時(shí)候,for循環(huán)執(zhí)行的時(shí)候出錯(cuò)。</p><p><b>  問(wèn)題二:</b></p><p>  現(xiàn)象:當(dāng)順著一個(gè)方向進(jìn)行探索的時(shí)候,遇到邊界的時(shí)候就無(wú)法執(zhí)行下去了。</p><p>  原因:

105、邊界如果是1,說(shuō)明遇到的是無(wú)法通過(guò),按原路返回,可是如果遇到的是0,說(shuō)明是可以繼續(xù)前進(jìn),問(wèn)題是現(xiàn)在沒(méi)有路徑可以繼續(xù),所以必須外圍要增加一圈1,這樣,到了最外圍的時(shí)候就會(huì)按原路返回。</p><p><b>  [運(yùn)行結(jié)果及分析]</b></p><p><b>  四、參考文獻(xiàn):</b></p><p>  [1].《C程

溫馨提示

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