數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--迷宮問題_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  《數(shù)據(jù)結(jié)構(gòu)》</b></p><p><b>  ---課程設(shè)計報告</b></p><p><b>  設(shè)計題目</b></p><p><b>  迷宮問題</b></p><p><b>  需求分析</

2、b></p><p><b>  1.選題理由</b></p><p>  迷宮求解是數(shù)據(jù)結(jié)構(gòu)課程的一個經(jīng)典問題,迷宮問題要求尋找一條從入口到出口的路徑。通常用的是“窮舉求解”的方法。為了保證在任何位置上都能原路退回,顯然需要用一個后進先出的結(jié)構(gòu)來保存從入口到當(dāng)前位置的路徑。因此,在求解迷宮通路的算法中要應(yīng)用“?!钡乃枷搿τ跅5膬?nèi)容在整個學(xué)期的學(xué)習(xí)中我也有了一

3、定的了解,所以選擇了迷宮這一經(jīng)典問題作為本次課設(shè)的內(nèi)容。 </p><p><b>  2.基本原理分析 </b></p><p>  迷宮問題通常是用“窮舉求解”方法解決,即從入口出發(fā),順著某一個方向進行探索,若能走通,則繼續(xù)往前走;否則沿著原路退回,換一個方向繼續(xù)探索,直至出口位置,求得一條通路。假如所有可能的通路都探索到而未能到達出口,則所設(shè)定的迷宮沒有通路。棧

4、是一個后進先出的結(jié)構(gòu),可以用來保存從入口到當(dāng)前位置的路徑。</p><p>  以二維數(shù)組存儲迷宮數(shù)據(jù),通常設(shè)定入口點的下標(biāo)為(1,1),出口點的下標(biāo)為(n,n)。為處理方便起見,在迷宮的四周加一圈障礙。對于迷宮任何一個位置,均約定東、南、西、北四個方向可通。</p><p><b>  3.功能要求 </b></p><p> ?。?)以一個

5、二維數(shù)組Maze[m+2][n+2]表示迷宮,其中:Maze[0][j]和Maze[m+1][j](0<=j<=n+1)及Maze[i][0]和Maze[i][n+1] (0<=i<=m+1)為做外層的一圈障礙。數(shù)組中以0表示通路,1表示障礙,限定迷宮的大小為:m,n<=10。</p><p>  (2)用戶需用文件的形式輸入迷宮的數(shù)據(jù):文件中第一行的數(shù)據(jù)為迷宮的行數(shù)m和列數(shù)n;從第

6、2行至第m+1行(每行n個數(shù))為迷宮值,用0,1輸入,同行中的兩個數(shù)字之間用空白字符相隔。</p><p>  (3)迷宮的入口位置和出口位置可由用戶隨時設(shè)定。</p><p>  (4)若設(shè)定的迷宮存在通路,則以長方陣形式將迷宮及其通路輸出到標(biāo)準輸出文件上,其中字符“#”表示障礙,“*”表示路徑,“@”表示曾途經(jīng)該位置但不能到達出口,其余位置用空格符表示。若設(shè)定迷宮不存在通路則報告相應(yīng)信

7、息</p><p>  (5)本程序只求出一條成功的通路。</p><p>  (6)程序執(zhí)行的命令為:1,創(chuàng)建迷宮;2,求解迷宮;3,輸出迷宮的解。</p><p><b>  三、概要設(shè)計</b></p><p><b>  本程序包含三個模塊</b></p><p> 

8、?。?)棧模塊——實現(xiàn)棧抽象數(shù)據(jù)類型</p><p>  (2)迷宮模塊——實現(xiàn)迷宮抽象數(shù)據(jù)類型</p><p><b> ?。?)主程序模塊:</b></p><p>  void mian()</p><p><b>  {</b></p><p><b>  

9、初始化;</b></p><p><b>  Do{</b></p><p><b>  接受命令;</b></p><p><b>  處理命令;</b></p><p>  }while(命令!=“退出”);</p><p><b&

10、gt;  }</b></p><p>  各模塊之間的調(diào)用關(guān)系如圖一:</p><p><b>  圖一:調(diào)用關(guān)系圖</b></p><p>  函數(shù)的調(diào)用關(guān)系圖反映了程序的層次結(jié)構(gòu)如圖二:</p><p>  圖二 :函數(shù)的調(diào)用關(guān)系圖</p><p><b>  四、詳細設(shè)

11、計</b></p><p> ?。?)棧的抽象數(shù)據(jù)類型</p><p>  ADT Stack{</p><p>  數(shù)據(jù)對象:D={ai| ai∈CharSet,i=1,2…n,n>=0}</p><p>  數(shù)據(jù)關(guān)系:R1={<ai-1, ai >| ai-1, ai∈D,i=2,…n}</p>

12、<p><b>  基本操作:</b></p><p>  InitStack(&S)</p><p>  操作結(jié)果:構(gòu)造一個空棧S。</p><p>  DestroyStack(&S)</p><p>  初始條件:棧S已存在。</p><p>  操作結(jié)果:銷毀棧

13、S。</p><p>  ClearStack(&S)</p><p>  初始條件:棧S已存在。</p><p>  操作結(jié)果:將S清為空棧。</p><p>  StackLength(S)</p><p>  初始條件:棧S已存在。</p><p>  操作結(jié)果:返回棧S的長度。&

14、lt;/p><p>  StackEmpty(S)</p><p>  初始條件:棧S已存在。</p><p>  操作結(jié)果:若S為空棧,則返回TRUE,否則返回FALSE。</p><p>  GetTop(S,&e)</p><p>  初始條件:棧S已存在。</p><p>  操作結(jié)

15、果:若棧S不空,則以e返回棧頂元素。</p><p>  Push(&S, e)</p><p>  初始條件:棧S已存在。</p><p>  操作結(jié)果:在棧S的棧頂插入新的棧頂元素e。</p><p>  Pop(&S,&e)</p><p>  初始條件:棧S已存在。</p>

16、<p>  操作結(jié)果:刪除S的棧頂元素,并以e返回其值。</p><p>  StackTraverse(S,visit())</p><p>  初始條件:棧S已存在。</p><p>  操作結(jié)果:從棧底到棧頂依次對S中的每個元素調(diào)用函數(shù)visit()。</p><p>  } ADT Stack</p><

17、;p> ?。?)迷宮的抽象數(shù)據(jù)類型</p><p><b>  ADT maze{</b></p><p>  數(shù)據(jù)對象:D={ai,j| ai,j∈{ ' ','#','@','*'},0<=i<=m+1,0<=j<=n+1,m,n<=10}</p>&

18、lt;p>  數(shù)據(jù)關(guān)系:R={ROW,COL}</p><p><b>  基本操作:</b></p><p>  InitMaze(&M,a,row,col)</p><p>  初始條件:二維數(shù)組a[row+2][col+2]已存在,其中自第1行至第row+1行,每行中自第1列至第col+1列的元素已有值,并且以值0表示通路,

19、以值1表示障礙。</p><p>  操作結(jié)果:構(gòu)成迷宮的字符型數(shù)組,以空白字符表示通路,以字符‘#’表示障礙,并在迷宮四周加上一圈障礙。</p><p>  MazePath(&M)</p><p>  初始條件:迷宮M已被賦值。</p><p>  操作結(jié)果:若迷宮M中存在一條通路,則按以下規(guī)定改變迷宮M的狀態(tài):以字符’*’表示路

20、徑上的位置,字符‘@’表示“死胡同”,否則迷宮的狀態(tài)不變。</p><p>  PrintMaze(M)</p><p>  初始條件:迷宮M已存在。</p><p>  操作結(jié)果:以字符形式輸出迷宮。</p><p>  } ADT maze</p><p>  五、測試數(shù)據(jù)及運行結(jié)果</p><

21、p><b>  1、調(diào)試分析:</b></p><p> ?。?)本程序有一個核心算法,即求迷宮的路徑,在調(diào)試的時候,出現(xiàn)了兩個問題:沒有想到要用‘@’記號,導(dǎo)致迷宮走不出來;沒有設(shè)置‘found’,不知何時跳出。</p><p> ?。?)原本棧的元素e中除了di—往下一坐標(biāo)位置的方向和seat—當(dāng)前的坐標(biāo)位置,還有一個step—當(dāng)前位置在路徑上的序號,后來發(fā)

22、現(xiàn)step沒什么用,就刪掉了。</p><p> ?。?)函數(shù)ReadCommand中,cmd=getchar();的位置找不準,最后是試出來的。</p><p> ?。?)調(diào)試的時候多次出現(xiàn),沒有錯誤,但是dos環(huán)境下就是執(zhí)行不起來,所以采用了一些輸出變量,判斷到底是哪里出了問題。  </p><p> ?。?)本程序中三個主要的算法:InitMaze,

23、MazePath和MarkPrint的時間復(fù)雜度均為O(m*n), 本程序的空間復(fù)雜度也為O(m*n)(棧所占最大空間)</p><p>  使用說明和運行結(jié)果:</p><p> ?。?)首先以文件形式輸入迷宮數(shù)據(jù),如圖三:</p><p><b>  圖三</b></p><p> ?。?)進入演示程序后,會出現(xiàn)以下

24、界面如圖四: </p><p><b>  圖四0 </b></p><p>  進入“創(chuàng)建迷宮”的命令后,即提示輸入迷宮數(shù)據(jù)的文件名,結(jié)束符為“回車符”,該命令執(zhí)行之后輸出“迷宮建立完成”,且輸出下面可執(zhí)行的操作。如圖五:</p><p><b>  圖五</b></p><p>  進入“執(zhí)行迷

25、宮”的命令后,即提示輸入迷宮入口,出口的坐標(biāo),結(jié)束符為“回車符”,該命令執(zhí)行之后表示迷宮路徑已尋找完成或未找到路徑。請注意:若迷宮中存在路徑,執(zhí)行此命令后,迷宮狀態(tài)已經(jīng)改變,若要重復(fù)執(zhí)行此命令,需重新輸入迷宮數(shù)據(jù)。如圖六:</p><p><b>  圖六</b></p><p>  進入“輸出迷宮”的命令后,即輸出迷宮求出路徑之后的狀態(tài)?!?’表示障礙,‘@’ 表示

26、曾走過但不通,‘*’表示路徑。如圖七:</p><p><b>  圖七</b></p><p>  進入“退出”的命令后,按任意鍵結(jié)束。如圖八:</p><p><b>  圖八</b></p><p><b>  缺點與改進:</b></p><p>

27、;  在定義函數(shù)Mazepath的時候,開始的循環(huán)語句的結(jié)束條件不對,沒有出路時,導(dǎo)致一直出現(xiàn)了不正確的結(jié)果,最后沒有新位置入棧,則返回上一個位置,否則沒有路徑。</p><p>  只是以文件形式輸入迷宮 ,如果迷宮數(shù)據(jù)量大時,要先建好文件還是很浪費時間,如果以隨機產(chǎn)生函數(shù)自動產(chǎn)生迷宮會更好 。</p><p><b>  六、源程序:</b></p>

28、<p>  #include <stdio.h></p><p>  #include <stdlib.h></p><p>  #include <string.h></p><p>  #define MAXLEN 10//迷宮包括外墻最大行列數(shù)目</p><p>  #define TRU

29、E 1</p><p>  #define FALSE 0</p><p>  #define OK 1</p><p>  #define ERROR 0</p><p>  typedef int Status;</p><p>  // 坐標(biāo)位置類型 </p><p>  typ

30、edef struct{</p><p><b>  int r,c;</b></p><p>  } PosType;//迷宮中r行c列的位置</p><p><b>  //迷宮類型 </b></p><p>  typedef struct {</p><p>

31、;<b>  int r;</b></p><p><b>  int c;</b></p><p>  char arr[MAXLEN][MAXLEN];//可取' ','*','@','#'</p><p>  }MazeType;  

32、 </p><p>  typedef struct{</p><p>  //int step; // 當(dāng)前位置在路徑上的“序號”</p><p>  PosType seat; //當(dāng)前的坐標(biāo)位置</p><p>  int di; //往下一坐標(biāo)位置的方向</p><p>  }SElemType;</p&

33、gt;<p><b>  //結(jié)點類型</b></p><p>  typedef struct NodeType{</p><p>  SElemType data;</p><p>  NodeType *next;</p><p>  }NodeType,*LinkType;</p>&

34、lt;p><b>  //棧類型 </b></p><p>  typedef struct { </p><p>  LinkType top;</p><p>  int stacksize;</p><p>  }SqStack; </p><p>  PosType sta

35、rt;</p><p>  PosType end;</p><p>  MazeType maze;</p><p>  bool found;</p><p><b>  //創(chuàng)建棧</b></p><p>  Status InitStack(SqStack &S)</p>

36、;<p><b>  {</b></p><p>  S.top=(LinkType)malloc(sizeof(NodeType));</p><p>  S.top->next=NULL;</p><p>  S.stacksize=0;</p><p>  return OK;</p>

37、;<p><b>  }</b></p><p><b>  //進棧</b></p><p>  Status Push(SqStack &S,SElemType &e)</p><p><b>  {</b></p><p>  LinkTyp

38、e p;</p><p>  p=(NodeType*)malloc(sizeof(NodeType));</p><p>  p->data=e;</p><p>  p->next=S.top;</p><p><b>  S.top=p;</b></p><p>  S.stac

39、ksize++;</p><p>  return OK;</p><p><b>  }</b></p><p><b>  //判斷是否為???lt;/b></p><p>  Status StackEmpty(SqStack S)</p><p><b>  {&

40、lt;/b></p><p>  if(S.top->next==NULL) return OK;</p><p>  return ERROR; </p><p><b>  }</b></p><p><b>  //出棧</b></p><p>  Stat

41、us Pop(SqStack &S,SElemType &e)</p><p><b>  {</b></p><p>  LinkType p;</p><p>  if(StackEmpty(S)) return ERROR;</p><p><b>  p=S.top;</b>

42、</p><p>  e=p->data;</p><p>  S.top=S.top->next;</p><p>  S.stacksize--;</p><p><b>  free(p);</b></p><p>  return OK;</p><p>

43、;<b>  }</b></p><p><b>  //銷毀棧</b></p><p>  Status DestroyStack(SqStack &S)</p><p><b>  {</b></p><p>  LinkType p;</p><

44、;p>  while(S.top!=NULL)</p><p><b>  {</b></p><p><b>  p=S.top;</b></p><p>  S.top=S.top->next;</p><p><b>  free(p);</b></p&

45、gt;<p><b>  }//一個一個刪除</b></p><p>  if(S.top==NULL) return OK;</p><p>  else return ERROR;</p><p><b>  }</b></p><p>  //曾走過但不是通路標(biāo)記并返回OK<

46、;/p><p>  Status MarkPrint(MazeType &maze,PosType curpos)</p><p><b>  {</b></p><p>  maze.arr[curpos.r][curpos.c]='@';//"@"表示曾走過但不通</p><p&g

47、t;  return OK;</p><p><b>  }</b></p><p>  //曾走過而且是通路標(biāo)記并返回OK</p><p>  Status FootPrint(MazeType &maze,PosType curpos)</p><p><b>  {</b></p

48、><p>  maze.arr[curpos.r][curpos.c]='*';//"*"表示可通</p><p>  return OK;</p><p><b>  }</b></p><p>  //選擇下一步的方向</p><p>  PosType Nex

49、tPos(PosType &curpos,int i)</p><p><b>  {</b></p><p>  PosType cpos;</p><p>  cpos=curpos;</p><p>  switch(i){       

50、 //1.2.3.4分別表示東,南,西,北方向</p><p>  case 1 : cpos.c+=1; </p><p><b>  break;</b></p><p>  case 2 : cpos.r+=1; </p><p><b>  break;</b></p><

51、;p>  case 3 : cpos.c-=1; </p><p><b>  break;</b></p><p>  case 4 : cpos.r-=1; </p><p><b>  break;</b></p><p><b>  }</b></p>

52、<p>  return cpos;</p><p><b>  }</b></p><p>  //判斷當(dāng)前位置是否可通 </p><p>  Status Pass(MazeType &maze, PosType curpos)</p><p><b>  {</b><

53、;/p><p>  if(maze.arr[curpos.r][curpos.c]==' ') return TRUE;</p><p>  else return FALSE;</p><p><b>  }</b></p><p><b>  //創(chuàng)建迷宮</b></p>

54、<p>  //按照用戶輸入的二維數(shù)組(0或1),設(shè)置迷宮maze的初值,包括加上邊緣一圈的值</p><p>  void InitMaze(MazeType &maze, char a[MAXLEN][MAXLEN], int row, int col)</p><p><b>  {</b></p><p>  ma

55、ze.r=row;</p><p>  maze.c=col;</p><p>  for(int i=0;i<=col+1;i++){</p><p>  a[0][i]='1';</p><p>  a[row+1][i]='1';</p><p><b>  }&l

56、t;/b></p><p>  for(i=0;i<=row+1;i++){</p><p>  a[i][0]='1';</p><p>  a[i][col+1]='1';</p><p><b>  }</b></p><p>  for(i=0;

57、i<=maze.r+2;i++){</p><p>  for(int j=0;j<maze.c+2;j++){</p><p>  if(a[i][j]=='1') maze.arr[i][j]='#';</p><p>  else maze.arr[i][j]=' ';</p><

58、p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //求迷宮路徑的偽碼算法:</p><p>  Status MazePath(MazeType &maze,PosType start

59、,PosType end)</p><p><b>  {</b></p><p>  //求解迷宮maze中,從入口start到出口end的一條路徑,若存在,返回TRUE,否則返回FALSE</p><p>  PosType curpos;</p><p>  SqStack S;</p><p&

60、gt;  SElemType e;</p><p>  InitStack(S);</p><p>  curpos=start;//設(shè)定“當(dāng)前位置”為“入口位置”</p><p>  //curstep=1; //探索第一步</p><p>  found=false;</p><p><b>  do{&

61、lt;/b></p><p>  if(Pass(maze,curpos))</p><p><b>  {</b></p><p>  //當(dāng)前位置可以通過,即是未曾走到過的通道塊留下足跡</p><p>  FootPrint(maze,curpos);//做可以通過的標(biāo)識</p><p&g

62、t;  //e.step=curstep;</p><p>  e.seat=curpos;  </p><p>  e.di=1;          //為棧頂元素賦值</p><p>  Push(S,e); //加入路徑</p><

63、p>  if(curpos.r==end.r && curpos.c==end.c) found=true;//如果到達終點返回true</p><p><b>  else{</b></p><p>  curpos=NextPos(curpos,1);//下一位置是當(dāng)前位置的東鄰</p><p><b>  

64、}</b></p><p><b>  }</b></p><p>  else   //當(dāng)前位置不能通過</p><p>  if(!StackEmpty(S)){</p><p><b>  Pop(S,e);</b></p><p>  

65、while(e.di==4 && !StackEmpty(S)){</p><p>  MarkPrint(maze,e.seat);  //留下不能通過的標(biāo)記</p><p><b>  Pop(S,e);</b></p><p><b>  }</b></p><p>

66、  if(e.di<4){</p><p>  e.di++;   //換下個方向</p><p>  Push(S,e);                    &

67、#160;  //</p><p>  curpos=NextPos(e.seat,e.di);     //進行探索</p><p><b>  }</b></p><p><b>  }</b></p><p>  }while(!StackEm

68、pty(S)&&!found);</p><p>  DestroyStack(S);</p><p>  return found;</p><p><b>  }</b></p><p>  //將標(biāo)記路徑信息的迷宮(字符型方陣)輸出到終端(包括外墻)</p><p>  vo

69、id PrintMaze(MazeType &maze)</p><p><b>  {</b></p><p>  for(int i=0;i<=maze.r+2;i++){</p><p>  for(int j=0;j<=maze.c+2;j++){</p><p>  printf("

70、;  %c",maze.arr[i][j]);//輸出迷宮         </p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  }</b>

71、</p><p><b>  }</b></p><p><b>  //系統(tǒng)初始化</b></p><p>  void Initialization()</p><p><b>  {</b></p><p>  system("cls&q

72、uot;); </p><p>  printf("     welcome to the game!!!       "); </p><p>  printf("\n********************

73、****************************");</p><p>  printf("\n*創(chuàng)建迷宮--c 執(zhí)行迷宮--m 輸出迷宮--p  退出--q*");</p><p>  printf("\n************************************************");&l

74、t;/p><p>  printf("\n\n    操作:-");</p><p><b>  }</b></p><p>  //讀入操作命令符,顯示提示信息</p><p>  void ReadCommand(char &cmd)</p><

75、;p><b>  {</b></p><p><b>  do{</b></p><p>  if(cmd=='c')</p><p><b>  {</b></p><p>  printf("\n***********************

76、*******************");</p><p>  printf("\n*選擇操作 :執(zhí)行迷宮--m     *");</p><p>  printf("\n* 退出--:q          

77、*");</p><p>  printf("\n******************************************");</p><p>  printf("\n\n  操作:-");</p><p><b>  }</b></p><p>

78、  else if(cmd=='m'){</p><p>  printf("\n******************************************");</p><p>  printf("\n*選擇操作 :輸出迷宮--p        

79、0; *");</p><p>  printf("\n* 退出--:q        *");</p><p>  printf("\n******************************************");</p

80、><p>  printf("\n\n 操作:-");</p><p><b>  }</b></p><p>  else if(cmd=='p'){</p><p>  printf("\n******************************************&

81、quot;);</p><p>  printf("\n*選擇操作 :執(zhí)行迷宮--c          *");</p><p>  printf("\n*          退出-

82、-:q       *");</p><p>  printf("\n******************************************");</p><p>  printf("\n\n       &

83、#160;  操作:-");</p><p><b>  }</b></p><p>  cmd=getchar();</p><p>  }while(!(cmd=='c'||cmd=='m'||cmd=='p'||cmd=='q'));</p>

84、<p><b>  }</b></p><p>  //解釋cmd--具體執(zhí)行</p><p>  void Interpre(char cmd)</p><p><b>  {</b></p><p>  switch(cmd){</p><p>  case

85、'c':{</p><p>  int rnum, cnum, i=0,m=1,n=1;</p><p>  char a2[MAXLEN][MAXLEN];</p><p>  char input[1];</p><p>  char data[1000];</p><p>  printf(&qu

86、ot;\n請輸入迷宮數(shù)據(jù)文件名!\n");</p><p>  scanf("%s",input);</p><p><b>  FILE *fp;</b></p><p>  fp=fopen(input,"r");</p><p><b>  if(!fp)

87、</b></p><p><b>  { </b></p><p>  printf("\n不能打開文件\n"); </p><p><b>  break; </b></p><p><b>  }</b></p><p&g

88、t;  while(!feof(fp))</p><p><b>  {</b></p><p>  fscanf(fp,"%s",&data[i]);</p><p><b>  if(i==0)</b></p><p><b>  {</b>&l

89、t;/p><p>  rnum=(int)data[i]-(int)'0';</p><p><b>  }</b></p><p><b>  if(i==1)</b></p><p><b>  {</b></p><p>  cnum=

90、(int)data[i]-(int)'0';</p><p><b>  }</b></p><p><b>  if(i>=2)</b></p><p><b>  {</b></p><p>  if(n>cnum){m++;n=1;}</

91、p><p>  a2[m][n]=data[i];</p><p><b>  n++;</b></p><p><b>  }</b></p><p><b>  i++;</b></p><p><b>  }</b></p&

92、gt;<p>  fclose(fp);</p><p>  InitMaze(maze, a2, rnum, cnum);</p><p>  printf("\n迷宮建立完成?。n");</p><p><b>  break;</b></p><p><b>  }&l

93、t;/b></p><p>  case 'm':{</p><p>  printf("\n請輸入迷宮入口的坐標(biāo),以空格為間隔:--");</p><p>  scanf("%d %d",&start.r,&start.c);</p><p>  printf(&

94、quot;\n請輸入迷宮出口的坐標(biāo),以空格為間隔:--");</p><p>  scanf("%d %d",&end.r,&end.c);</p><p>  MazePath(maze, start, end);</p><p><b>  break;</b></p><p

95、><b>  }</b></p><p>  case 'p':{</p><p><b>  if(found)</b></p><p><b>  {</b></p><p>  printf("\n求解迷宮的結(jié)果如下--\n");

96、</p><p>  PrintMaze(maze);</p><p><b>  }</b></p><p>  else printf("\n找不到路徑!\n");</p><p><b>  }</b></p><p><b>  } &l

97、t;/b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  char cmd;</b></p><p>  Initialization();&

98、lt;/p><p><b>  do{</b></p><p>  ReadCommand(cmd);    //讀入一個操作符命令</p><p>  Interpre(cmd);       //解釋執(zhí)行命令操作符</p><p>

溫馨提示

  • 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

提交評論