2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(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ù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告</p><p> ?。?011--2012學(xué)年 第二學(xué)期) </p><p>  題 目:集合交、并、差、對(duì)稱(chēng)差運(yùn)算</p><p>  學(xué) 號(hào): </p><p>  姓 名: </p><p>  指導(dǎo)教師: </

2、p><p><b>  信息科學(xué)與工程系</b></p><p>  1設(shè)計(jì)內(nèi)容、任務(wù)及具體要求 </p><p><b>  1.1設(shè)計(jì)內(nèi)容</b></p><p>  編寫(xiě)一個(gè)程序,實(shí)現(xiàn)集合(同一集合中可以存在重復(fù)的元素,函數(shù)將自動(dòng)過(guò)濾)</p><p>  的并、交、差和對(duì)

3、稱(chēng)差。</p><p>  1.2設(shè)計(jì)任務(wù)及具體要求</p><p>  1、用順序表表示集合,在建立順序表時(shí),自動(dòng)清除同一集合中的相同元素,并根據(jù)長(zhǎng)度定位元素位置; 2、集合的元素限定為字母;</p><p>  3、要求實(shí)現(xiàn)的算法:</p><p>  1)兩個(gè)集

4、合的并運(yùn)算</p><p>  2)兩個(gè)集合的交運(yùn)算</p><p>  3)兩個(gè)集合的差運(yùn)算</p><p>  4)兩個(gè)集合的對(duì)稱(chēng)差運(yùn)算</p><p>  4、運(yùn)行界面要人性化,便于使用,提示清楚,操作簡(jiǎn)單。</p><p><b>  問(wèn)題補(bǔ)充:</b></p><p&

5、gt;  要求數(shù)據(jù)是無(wú)序的,不能順序表示,通過(guò)函數(shù)(插入、刪除)完成集合間的運(yùn)算。</p><p><b>  2概要設(shè)計(jì)</b></p><p>  2.1該系統(tǒng)的功能簡(jiǎn)介</p><p>  建立順序表,通過(guò)順序表進(jìn)行集合間并、交、差、對(duì)稱(chēng)差的運(yùn)算。使用者只需根據(jù)程序提示,進(jìn)行必要步驟的輸入和選擇,就能實(shí)現(xiàn)集合間的簡(jiǎn)單運(yùn)算。</p&g

6、t;<p>  2.2 總體程序框圖</p><p>  2.3各個(gè)模塊之間的主要關(guān)系</p><p>  3系統(tǒng)功能模塊的具體設(shè)計(jì)</p><p>  3.1各個(gè)模塊的程序流程圖及運(yùn)行界面</p><p>  1.初始化順序表模塊</p><p><b>  0</b></p

7、><p><b>  1 1</b></p><p><b>  2.求長(zhǎng)模塊</b></p><p><b>  插入模塊</b></p><p><b>  111</b></p><p><b>  00<

8、/b></p><p><b>  0</b></p><p><b>  創(chuàng)建順序表</b></p><p><b>  11</b></p><p><b>  0</b></p><p><b>  取元素&

9、lt;/b></p><p><b>  1</b></p><p><b>  0</b></p><p><b>  比較模塊</b></p><p><b>  1</b></p><p><b>  0<

10、;/b></p><p><b>  定位模塊</b></p><p><b>  00</b></p><p><b>  1</b></p><p><b>  1</b></p><p><b>  刪除模塊

11、</b></p><p><b>  1</b></p><p><b>  1</b></p><p><b>  00</b></p><p><b>  并集模塊0</b></p><p><b> 

12、 11</b></p><p><b>  0</b></p><p><b>  交集模塊</b></p><p><b>  0</b></p><p>  1 11</p><p><b>  0</

13、b></p><p><b>  差集模塊</b></p><p><b>  0</b></p><p><b>  111</b></p><p><b>  0</b></p><p><b>  對(duì)稱(chēng)差模

14、塊</b></p><p><b>  輸出模塊</b></p><p><b>  01</b></p><p><b>  0</b></p><p><b>  1</b></p><p><b>  

15、菜單模塊</b></p><p>  3.2關(guān)鍵代碼分析說(shuō)明</p><p><b>  a.插入模塊中</b></p><p>  while(p>=q)</p><p><b>  { </b></p><p>  *(p+1)=*p; </p&g

16、t;<p><b>  --p;</b></p><p>  } //插入位置后的元素右移</p><p>  當(dāng)原始申請(qǐng)內(nèi)存不足時(shí)</p><p>  if(!newbase) exit(OVERFLOW); </p><p>  L.elem=newbase; </p>

17、<p>  L.listsize+=LISTINCREMENT;</p><p><b>  b.刪除模塊中</b></p><p>  if(i<1||i>L.length) </p><p>  return ERROR;//刪除位置不合理</p><p><b>  c.定位模塊中&

18、lt;/b></p><p>  ElemType *p=L.elem; //p指向第一個(gè)元素</p><p>  int i=1; //i始終為p所指向元素的位序</p><p>  while(i<=L.length&&!(*compare)(*p++,e))</p><p><b>  

19、++i;</b></p><p>  if(i<=L.length) </p><p>  return(i);</p><p><b>  else </b></p><p><b>  return 0;</b></p><p>  d.main()函數(shù)

20、中</p><p>  重新輸入數(shù)據(jù)時(shí),用er做goto語(yǔ)句的跳轉(zhuǎn)標(biāo)</p><p>  e.其它 見(jiàn)源代碼注釋。</p><p><b>  4程序調(diào)試分析</b></p><p><b>  a.界面測(cè)試</b></p><p><b>  底面 粉紅<

21、/b></p><p><b>  字體 深藍(lán)</b></p><p>  提示語(yǔ)輸出 歡迎使用集合計(jì)算器</p><p><b>  b.測(cè)試空表:</b></p><p>  1.執(zhí)行程序 2退出程序</p><p>  對(duì)應(yīng)選擇2 退出</p&

22、gt;<p><b>  c.測(cè)試建表:</b></p><p>  1二執(zhí)行程序 2退出程序</p><p>  對(duì)應(yīng)選擇1 繼續(xù)</p><p><b>  請(qǐng)輸入第一個(gè)集合:</b></p><p>  a b c d e f </p><p>

23、<b>  請(qǐng)輸入第一個(gè)集合:</b></p><p>  d e f g h i</p><p>  d.測(cè)試輸入不符合要求(a---z)程序能否自動(dòng)過(guò)濾</p><p>  1執(zhí)行程序 2退出程序</p><p>  對(duì)應(yīng)選擇1 繼續(xù)</p><p><b>  請(qǐng)輸入第一

24、個(gè)集合:</b></p><p>  1 2 a b c d e f </p><p><b>  請(qǐng)輸入第一個(gè)集合:</b></p><p>  d e f g h i 2 4</p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出</p>

25、<p><b>  對(duì)應(yīng)選擇1</b></p><p><b>  輸出 d e f</b></p><p>  e.測(cè)試輸入不符合順序程序能否執(zhí)行</p><p>  1執(zhí)行程序 2退出程序</p><p>  對(duì)應(yīng)選擇1 繼續(xù)</p><p>&l

26、t;b>  請(qǐng)輸入第一個(gè)集合:</b></p><p>  f e d c b a </p><p><b>  請(qǐng)輸入第一個(gè)集合:</b></p><p>  i h g f e d </p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出<

27、;/p><p><b>  對(duì)應(yīng)選擇1</b></p><p><b>  輸出 f e d</b></p><p><b>  f.測(cè)試功能</b></p><p>  1執(zhí)行程序 2退出程序</p><p>  對(duì)應(yīng)選擇1 繼續(xù)</p&g

28、t;<p><b>  請(qǐng)輸入第一個(gè)集合:</b></p><p>  a b c d e f </p><p><b>  請(qǐng)輸入第一個(gè)集合:</b></p><p>  d e f g h i </p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6

29、重新輸入 其它退出</p><p><b>  對(duì)應(yīng)選擇 1</b></p><p><b>  輸出d e f </b></p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出</p><p><b>  對(duì)應(yīng)選擇 2</b

30、></p><p>  輸出a b c d e f g h i </p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出</p><p><b>  對(duì)應(yīng)選擇 3</b></p><p><b>  輸出a b c</b></p>

31、;<p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出</p><p><b>  對(duì)應(yīng)選擇 4</b></p><p>  輸出a b c g h i </p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出</p>

32、<p><b>  對(duì)應(yīng)選擇 5</b></p><p><b>  輸出 </b></p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出</p><p><b>  對(duì)應(yīng)選擇 6</b></p><p

33、>  輸出 請(qǐng)輸入第一個(gè)集合A</p><p>  輸入 b c d e f </p><p><b>  請(qǐng)輸入第一個(gè)集合B</b></p><p>  輸入 d e f g h</p><p><b>  輸出 </b></p><p>  1交集

34、2并集 3差集 4對(duì)稱(chēng)差 5清屏 6重新輸入 其它退出</p><p><b>  對(duì)應(yīng)選擇 1</b></p><p>  輸出 d e f </p><p><b>  輸出 </b></p><p>  1交集 2并集 3差集 4對(duì)稱(chēng)差 5清

35、屏 6重新輸入 其它退出</p><p><b>  對(duì)應(yīng)選擇 其它</b></p><p><b>  退出程序</b></p><p><b>  5程序使用說(shuō)明</b></p><p>  1、用順序表表示集合,在建立順序表時(shí),自動(dòng)清除同一集合中的相同元素,并自動(dòng)

36、定位元素位置;</p><p>  集合的元素限定為字母;</p><p>  3、要求實(shí)現(xiàn)的算法:</p><p>  1)兩個(gè)集合的并運(yùn)算</p><p>  2)兩個(gè)集合的交運(yùn)算</p><p>  3)兩個(gè)集合的差運(yùn)算</p><p>  3)兩個(gè)集合的對(duì)稱(chēng)差運(yùn)算</p>

37、<p><b>  4)清空界面</b></p><p><b>  5)重新輸入</b></p><p><b>  6)其它退出</b></p><p>  4、根據(jù)界面提示操作。</p><p><b>  6總結(jié)</b></p>

38、;<p>  程序的編譯要注意以下幾點(diǎn):</p><p>  要求算法精簡(jiǎn)全面,沒(méi)有邏輯錯(cuò)誤和漏洞。</p><p>  要求界面美觀,操作方便,功能全面。</p><p>  代碼要注意結(jié)構(gòu)清晰,便于復(fù)查。</p><p>  調(diào)用函數(shù)名要注意清晰易懂。</p><p>  盡量要將常用函數(shù)模塊化,調(diào)用

39、方便,編寫(xiě)簡(jiǎn)單。</p><p>  6、代碼的書(shū)寫(xiě)注意細(xì)致,區(qū)分大小寫(xiě),參數(shù)要有規(guī)律。</p><p><b>  7、其它。</b></p><p><b>  致謝</b></p><p>  李印清教授關(guān)于數(shù)據(jù)結(jié)構(gòu)知識(shí),算法的指導(dǎo)。</p><p>  方瑞英老師對(duì)算

40、法優(yōu)化,代碼語(yǔ)言規(guī)范化的指導(dǎo)。</p><p><b>  參考文獻(xiàn)</b></p><p>  《C語(yǔ)言程序設(shè)計(jì)第二版 (機(jī)械工業(yè)出版社)》 關(guān)于程序測(cè)試的方法。</p><p>  李印清教授 《學(xué)生檔案管理系統(tǒng)》參考示例及代碼分析。</p><p>  《數(shù)據(jù)結(jié)構(gòu)上機(jī)指導(dǎo)(清華大學(xué)出版社)》實(shí)例分析及算法指導(dǎo)。&l

41、t;/p><p><b>  附:源程序</b></p><p>  //文件名《簡(jiǎn)單集合計(jì)算器》</p><p>  //##########################源代碼#########################</p><p>  /* 制作人 :楊世杰;</p><p>&l

42、t;b>  指導(dǎo)老師:方瑞英;</b></p><p>  完成時(shí)間:2012.3.25;</p><p>  修改時(shí)間:2012.4.03 基本算法的代碼化;</p><p>  2012.4.07 基本算法的實(shí)現(xiàn);</p><p>  2012.4.15 參數(shù)值函數(shù)名的標(biāo)準(zhǔn)化;</p><p

43、>  2012.4.16 函數(shù)界面的優(yōu)化;</p><p>  2012.4.25 完成數(shù)據(jù)的測(cè)試.</p><p>  定稿時(shí)間:2012.4.30。*/</p><p><b>  // 程序的頭文件</b></p><p>  #include<stdio.h></p><

44、;p>  #include<malloc.h></p><p>  #include<stdlib.h></p><p>  #include<string.h></p><p><b>  // 函數(shù)返回值</b></p><p>  #define OK 1</p&

45、gt;<p>  #define ERROR 0</p><p>  #define INFEASIBLE -1</p><p>  #define OVERFLOW -2</p><p>  #define LISTINCREMENT 10</p><p>  #define LIST_INIT_SIZE 10

46、0 //順序表的初始大小</p><p>  typedef int Status; //返回狀態(tài)類(lèi)型</p><p>  typedef char ElemType; //元素類(lèi)型</p><p>  //結(jié)點(diǎn)類(lèi)型 指針類(lèi)型</p><p>  typedef struct{</p><p&

47、gt;  ElemType *elem; </p><p>  int length; </p><p>  int listsize;</p><p>  }SqList; </p><p>  Status chushihua(SqList &l)</p>

48、<p>  {/******************初始化順序表*****************</p><p>  *調(diào)用函數(shù): 無(wú);*</p><p>  *參 數(shù): 無(wú);*</p><p>  *返 回 值: OK. *</p><p>  **********************************

49、****************/</p><p>  l.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));</p><p>  if(!l.elem) exit(OVERFLOW);</p><p>  l.length=0;</p><p>  l.listsize=LI

50、ST_INIT_SIZE;</p><p>  return OK;</p><p><b>  }</b></p><p>  int qiuchang(SqList l)</p><p>  {/******************求順序表的長(zhǎng)度*****************</p><p&g

51、t;  *調(diào)用函數(shù): 無(wú);*</p><p>  *參 數(shù): 無(wú);*</p><p>  *返 回 值: l.length*</p><p>  **************************************************/</p><p>  return(l.length);</p>&

52、lt;p><b>  }</b></p><p>  Status charu_Sq(SqList &L,int i, ElemType e)</p><p>  {/******************在i處插入元素e*****************</p><p>  *調(diào)用函數(shù): 無(wú);*</p><p

53、>  *參 數(shù): L,i,e;i,L.elem,*p*</p><p>  *返 回 值: ERROR,OK. *</p><p>  **************************************************/</p><p>  if(i<1||i>L.length+1) </p><p&

54、gt;  return ERROR; </p><p>  if(L.length>=L.listsize)</p><p>  { </p><p>  ElemType*newbase=(ElemType *)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));

55、</p><p>  if(!newbase) exit(OVERFLOW); </p><p>  L.elem=newbase; </p><p>  L.listsize+=LISTINCREMENT;</p><p><b>  }</b></p><p>  ElemTy

56、pe *q=&L.elem[i-1], *p=&L.elem[L.length-1];</p><p>  while(p>=q)</p><p><b>  { </b></p><p>  *(p+1)=*p; </p><p><b>  --p;</b></p&g

57、t;<p>  } //插入位置后的元素右移</p><p><b>  *q=e;</b></p><p>  ++L.length;</p><p>  return OK;</p><p><b>  }</b></p><p>  Status chu

58、angjian(SqList &l,ElemType a[],int n)</p><p>  {/******************創(chuàng)建順序表********************</p><p>  *調(diào)用函數(shù): charu(),qiuchang();*</p><p>  *參 數(shù): L,a[i],n;len,l *</p>

59、<p>  *返 回 值: ERROR,OK. *</p><p>  **************************************************/</p><p>  int len=qiuchang(l);</p><p>  for(int i=0;i<n;i++)</p><p><

60、b>  {</b></p><p>  if(a[i]>='a'&&a[i]<='z')</p><p>  charu_Sq(l,++len,a[i]);</p><p><b>  }</b></p><p>  return OK;<

61、;/p><p><b>  }</b></p><p>  Status quyuansu(SqList L,int i,ElemType &e)</p><p>  {/**************取順序表中元素 *****************</p><p>  *調(diào)用函數(shù): 無(wú);*</p>

62、<p>  *參 數(shù): L,i,e;L.elem*</p><p>  *返 回 值: ERROR,OK. *</p><p>  **************************************************/</p><p>  if(i<=0||i>L.length)</p><p>

63、;  return ERROR;</p><p><b>  else</b></p><p>  e=*(L.elem+i-1);</p><p>  return OK;</p><p><b>  }</b></p><p>  Status bijiao(ElemTy

64、pe e1,ElemType e2)</p><p>  {/*****************比較元素的值 *****************</p><p>  *調(diào)用函數(shù): 無(wú);*</p><p>  *參 數(shù): e1,e2;e1,e2*</p><p>  *返 回 值: ERROR,OK. *</p>&l

65、t;p>  **************************************************/</p><p>  if(e1==e2)</p><p>  return OK; </p><p><b>  else </b></p><p>  return ERROR; </p>

66、;<p><b>  }</b></p><p>  int dingwei_Sq(SqList L, ElemType e, Status (*compare)(ElemType,ElemType))</p><p>  {/**************定位順序表中元素位置 *****************</p><p>

67、  *調(diào)用函數(shù): 無(wú);*</p><p>  *參 數(shù): L,i,e;*</p><p>  *返 回 值: i,0. *</p><p>  **************************************************/</p><p>  ElemType *p=L.elem; //p指向第一個(gè)元素

68、</p><p>  int i=1; //i始終為p所指向元素的位序</p><p>  while(i<=L.length&&!(*compare)(*p++,e))</p><p><b>  ++i;</b></p><p>  if(i<=L.length) </p&g

69、t;<p>  return(i);</p><p><b>  else </b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  Status shanchu(SqList &L,in

70、t i,ElemType &e)</p><p>  {/**********在順序表L中刪除第i個(gè)元素,用e返回其值**********</p><p>  *調(diào)用函數(shù): 無(wú);*</p><p>  *參 數(shù): L,i,e;i,p,q,e,L.length*</p><p>  *返 回 值: ERROR,OK. *&l

71、t;/p><p>  ***********************************************************/</p><p>  if(i<1||i>L.length) </p><p>  return ERROR;//刪除位置不合理</p><p>  ElemType *p=&L.ele

72、m[i-1],*q=L.elem+L.length-1;</p><p><b>  e=*p;</b></p><p>  while(p<q){*p=*(p+1); ++p;} //刪除位置后的元素左移</p><p>  --L.length;</p><p>  return OK;</p>

73、<p><b>  }</b></p><p>  void bingji(SqList &La,SqList Lb)</p><p>  {/******************實(shí)現(xiàn)集合的并 *****************</p><p>  *調(diào)用函數(shù): qiuchang();charu();dingwei();q

74、uyuansu()*</p><p>  *參 數(shù): La,Lb,la_len,lb_len; L,i,e*</p><p>  *返 回 值: ERROR,OK. *</p><p>  **************************************************/</p><p>  //將所有在線性表Lb

75、中而不在La中的元素插入La</p><p>  int la_len , lb_len;</p><p>  ElemType e;</p><p>  la_len=qiuchang(La);</p><p>  lb_len=qiuchang(Lb);</p><p>  for(int i=1;i<=l

76、b_len;++i)</p><p><b>  {</b></p><p>  quyuansu(Lb,i,e);</p><p>  if(dingwei_Sq(La,e,bijiao)==0)</p><p>  charu_Sq(La,++la_len,e);</p><p><b&

77、gt;  }</b></p><p><b>  }</b></p><p>  Status JiaoJi(SqList l1,SqList l2, SqList &l3)</p><p>  {/*****************求集合的交集********************</p><p>

78、;  *調(diào)用函數(shù): qiuchang();quyuansu();charu();*</p><p>  *參 數(shù): l1_len,l2_len,l3_len,e,u;i,j,l1,l2,l3;*</p><p>  *返 回 值: OK. *</p><p>  **********************************************

79、****/</p><p>  int l1_len, l2_len,l3_len,i=1,j=1;</p><p>  ElemType e,u;</p><p>  l1_len=qiuchang(l1);</p><p>  l2_len=qiuchang(l2);</p><p>  l3_len=qiuch

80、ang(l3);</p><p>  for(i=1;i<=l1_len;i++)</p><p><b>  {</b></p><p>  quyuansu(l1,i,e);</p><p>  for(j=l2_len;j>=1;j--)</p><p><b>  {

81、</b></p><p>  quyuansu(l2,j,u);</p><p><b>  if(e==u)</b></p><p><b>  {</b></p><p>  charu_Sq(l3,++l3_len,u);</p><p><b>

82、  break;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  continue;</b></p><p><b>  }</b></p><p

83、><b>  }</b></p><p>  return OK;</p><p><b>  }</b></p><p>  Status chaji(SqList &l1,SqList l2)</p><p>  {/**************求順序表的差集 *********

84、********</p><p>  *調(diào)用函數(shù): qiuchang();quyuansu();chushihua();shanchu()*</p><p>  *參 數(shù): l1_len,l2_len,count,e,u,f; l1,l2*</p><p>  *返 回 值: OK. *</p><p>  *************

85、*************************************/</p><p>  SqList lc;</p><p>  int lc_len,l1_len,l2_len;</p><p>  ElemType e,u,f;</p><p>  chushihua(lc);</p><p>  Jia

86、oJi(l1,l2,lc);</p><p>  lc_len=qiuchang(lc);</p><p>  l1_len=qiuchang(l1);</p><p>  l2_len=qiuchang(l2);</p><p>  for(int i=1;i<=lc_len;i++)</p><p><

87、b>  {</b></p><p>  quyuansu(lc,i,e);</p><p>  for(int j=1;j<=l1_len;j++)</p><p><b>  {</b></p><p>  quyuansu(l1,j,u);</p><p><b&

88、gt;  if(u==e)</b></p><p><b>  {</b></p><p>  shanchu(l1,j,f);</p><p><b>  } </b></p><p><b>  }</b></p><p><b

89、>  }</b></p><p>  returnOK;</p><p><b>  }</b></p><p>  Status duichencha(SqList &l1,SqList l2)</p><p>  {/******************求順序表的對(duì)稱(chēng)差集 *******

90、**************</p><p>  *調(diào)用函數(shù): chushihua();qiuchang();bingji();chaji().*</p><p>  *參 數(shù): lc,ld,lc_len,ld_len,l1_len,l2_len;l1,l2*</p><p>  *返 回 值: OK. *</p><p>  *

91、**********************************************************/</p><p>  SqList lc;</p><p>  int lc_len,l1_len,l2_len;</p><p>  ElemType e,u,f;</p><p>  chushihua(lc);</

92、p><p>  lc_len=qiuchang(lc);</p><p>  l1_len=qiuchang(l1);</p><p>  l2_len=qiuchang(l2);</p><p>  JiaoJi(l1,l2,lc);</p><p>  lc_len=qiuchang(lc);//求出交集</p&

93、gt;<p>  l2_len=qiuchang(l2);</p><p>  l1_len=qiuchang(l1);</p><p>  bingji(l1,l2); //求出并集</p><p>  l1_len=qiuchang(l1);</p><p>  chaji(l1,lc); //(l1U

94、l2)-(l2nl1)求對(duì)稱(chēng)差</p><p>  return OK;</p><p><b>  }</b></p><p>  void shuchu(SqList &L)</p><p>  {/******************輸出函數(shù) *********************</p>

95、<p>  *調(diào)用函數(shù): 無(wú);*</p><p>  *參 數(shù): l.length,i;L;*</p><p>  *返 回 值: ERROR,OK. *</p><p>  **************************************************/</p><p>  if(0==L.l

96、ength)</p><p>  printf("空集!");</p><p><b>  else</b></p><p>  for(int i=0;i<L.length;++i)</p><p><b>  {</b></p><p>  pr

97、intf("%c",*(L.elem+i));</p><p><b>  }</b></p><p><b>  }</b></p><p>  int caidan()</p><p>  {/********************菜單 ******************

98、******</p><p>  *調(diào)用函數(shù): 無(wú);*</p><p>  *參 數(shù): cn;*</p><p>  *返 回 值: cn. *</p><p>  **************************************************/</p><p><b>  

99、int cn;</b></p><p>  printf("**********************************************************\n");</p><p>  printf(" # 求集合的交請(qǐng)按1 #求 集 合 的 并請(qǐng)按2 \n");</p>

100、<p>  printf(" # 求集合的差請(qǐng)按3 #求集合的對(duì)稱(chēng)差請(qǐng)按4 \n");</p><p>  printf(" # 清 屏 請(qǐng) 按5 #重 新 輸 入 請(qǐng) 按 6 \n");</p><p>  printf(" # 退出請(qǐng)按其

101、它鍵 \n");</p><p>  printf("**********************************************************\n");</p><p>  printf("請(qǐng)輸入選項(xiàng):");</p><p&

102、gt;  scanf("%d",&cn);</p><p>  return cn;</p><p><b>  }</b></p><p>  void main()</p><p>  {/**************程序的主函數(shù) *****************</p>

103、<p>  *調(diào)用函數(shù): chushihua();chuangjian();chaji();bingji();chaji();</p><p>  duichencha();shuchu();caidan();*</p><p>  *參 數(shù): c,i,j,l1,l2,l3,a1,la,lb,n1,n2,;*</p><p>  *返 回 值:

104、ERROR,OK. *</p><p>  **********************************************/</p><p>  system("color d1");</p><p>  printf("**************************************************

105、***************\n");</p><p>  printf("* *\n");</p><p>  printf("# 歡迎使用集合計(jì)算器!

106、 #\n");</p><p>  printf("* *\n");</p><p>  printf("* 注意: 此集合運(yùn)算器僅適用于字母間運(yùn)算 *\n")

107、;</p><p><b>  for(1;;)</b></p><p><b>  {</b></p><p><b>  int c;</b></p><p>  printf("*********************#####################

108、###*********************\n");</p><p>  printf("# 1 執(zhí)行程序 2 退出程序 #\n");</p><p>  printf("**********************************************

109、********************\n");</p><p>  printf("請(qǐng)按鍵選擇(1或2): ");</p><p>  scanf("%d",&c);</p><p>  er:getchar(); //goto語(yǔ)句跳轉(zhuǎn)標(biāo)志</p><p>  prin

110、tf("\n");</p><p><b>  if(c==1)</b></p><p><b>  {</b></p><p>  SqList l1,l2,l3,la;</p><p>  int n1,n2,i,j;</p><p>  char

111、a1[30], a2[30];</p><p>  chushihua(l1);</p><p>  chushihua(l2);</p><p>  chushihua(l3);</p><p>  chushihua(la);</p><p>  printf("請(qǐng)輸入第一個(gè)集合: ");<

112、;/p><p><b>  gets(a1);</b></p><p>  n1=strlen(a1);</p><p>  for(i=n1-1;i>=0;i--) //從最后一個(gè)開(kāi)始依次與前面的比較 重復(fù)賦值為0</p><p><b>  {</b></p><p>

113、;  for(j=0;j<i;j++)</p><p><b>  {</b></p><p>  if(a1[j]==a1[i])</p><p><b>  a1[i]=0;</b></p><p><b>  }</b></p><p>&l

114、t;b>  }</b></p><p>  chuangjian(l1,a1,n1);</p><p><b>  la=l1;</b></p><p>  printf("請(qǐng)輸入第二個(gè)集合: ");</p><p><b>  gets(a2);</b><

115、;/p><p>  n2=strlen(a2);</p><p>  for(i=n2-1;i>=0;i--) //同上</p><p><b>  {</b></p><p>  for(j=0;j<i;j++)</p><p><b>  {</b></p

116、><p>  if(a1[j]==a1[i])</p><p><b>  a1[i]=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  chuangjian(l2,a2,n2);</p&

117、gt;<p><b>  int a;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  a = caidan();</p><p><b>  switch(a)</b>

118、;</p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  {</b></p><p>  printf("集合的交集是: ");</p><p>  JiaoJi(l1

119、,l2,l3);</p><p>  shuchu(l3);</p><p>  printf("\n");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 2:&l

120、t;/b></p><p><b>  {</b></p><p>  printf("集合的并集是: ");</p><p>  bingji(l1,l2);</p><p>  shuchu(l1);</p><p>  printf("\n");

121、</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 3: </b></p><p><b>  {</b></p><p>  printf("

122、集合的差集是: ");</p><p>  chaji(la,l2);</p><p>  shuchu(la);</p><p>  printf("\n");</p><p><b>  break;</b></p><p><b>  }</b&

123、gt;</p><p><b>  case 4: </b></p><p><b>  {</b></p><p>  printf("集合的對(duì)稱(chēng)差集是: ");</p><p>  duichencha(la,l2);</p><p>  shuchu

124、(la);</p><p>  printf("\n");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  case 5:</b></p><p><b>

125、;  {</b></p><p>  system("cls"); </p><p><b>  continue;</b></p><p><b>  }</b></p><p><b>  case 6:</b></p><

126、;p><b>  {</b></p><p>  system("cls");</p><p>  printf("輸入新的集合");</p><p>  goto er;//goto語(yǔ)句標(biāo)志及跳轉(zhuǎn)點(diǎn)</p><p><b>  }</b></p&

127、gt;<p><b>  default: </b></p><p><b>  {</b></p><p><b>  exit(0);</b></p><p><b>  }</b></p><p><b>  }</b&

128、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  exit(0);&l

129、t;/b></p><p>  } </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  指導(dǎo)教師評(píng)語(yǔ):</b></p><p>  成績(jī): 指導(dǎo)教師簽名:

溫馨提示

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