數(shù)據(jù)庫課程設(shè)計---串的應(yīng)用及其基本操作_第1頁
已閱讀1頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  數(shù) 據(jù) 結(jié) 構(gòu) 課 程 設(shè) 計</p><p>  設(shè)計題目: 串的應(yīng)用及其基本操作 </p><p>  學(xué)生姓名: </p><p>  專業(yè)班級: </p><p>  指導(dǎo)教師: </p><p

2、>  完成時間: </p><p>  信息工程學(xué)院 信科 系</p><p><b>  目 錄</b></p><p>  第一章:課程設(shè)計的目的、基本要求及其解析1</p><p>  1.1課程設(shè)計的目的:1</p><p>  1.2課程設(shè)計要求:1<

3、;/p><p>  1.3課程設(shè)計題目解析:1</p><p>  第二章:課程設(shè)計內(nèi)容1</p><p>  2.1程序設(shè)計代碼:1</p><p>  2.2:程序設(shè)計的基本思想:12</p><p>  2.3 程序運行結(jié)果:15</p><p>  第三章:課程設(shè)計的優(yōu)點及遇到的問

4、題20</p><p>  3.1:課程設(shè)計的優(yōu)缺點:20</p><p>  3.2:課程設(shè)計過程中遇到的問題:20</p><p><b>  第四章:總結(jié)21</b></p><p>  4.1:個人小結(jié):21</p><p>  4.2:參考文獻(xiàn):21</p>&

5、lt;p>  第一章:課程設(shè)計的目的、基本要求及其解析</p><p>  1.1課程設(shè)計的目的:</p><p> ?。赫莆沾幕敬鎯Y(jié)構(gòu)。</p><p> ?。赫莆沾幕具\算及其實現(xiàn)。</p><p>  1.2課程設(shè)計要求:</p><p> ?。簩⑸蠙C(jī)程序全部調(diào)試通過。</p>&l

6、t;p> ?。航Y(jié)合程序分析運行結(jié)果。</p><p>  1.3課程設(shè)計題目解析:</p><p>  顧名思義,串及其基本操作,就是要在理解串的基本概念和特征的基礎(chǔ)上,了解串的內(nèi)部表示和處理方法。這樣才能有效地實現(xiàn)串的基本操作。串,也還是字符串,是一種特殊的線性表。特殊之處在于表中的每一個元素都是字符,以及由此而要求的一些特殊操作。在串及其基本操作中,要求的操作有聯(lián)接、求串長、求子

7、串、比較串的大小、串的插入、串的刪除、子串的定位和置換。因為所要進(jìn)行的操作比較零散也比較多,所以就要用到多個函數(shù)把這個整體的課程設(shè)計劃分成多個模塊來進(jìn)行。每個函數(shù)對應(yīng)一個功能。在主函數(shù)中,用一個菜單,就可以將原來的已分模塊的函數(shù)系統(tǒng)地進(jìn)行檢驗及操作。</p><p>  第二章:課程設(shè)計內(nèi)容</p><p>  2.1程序設(shè)計代碼:</p><p>  #inclu

8、de<stdio.h></p><p>  #include<string.h></p><p>  #define maxsize 64 /*假設(shè)串可能的最大長度是 64 */</p><p>  typedef struct</p><p>  {char ch[maxsize]; /*串的存儲空*/

9、 </p><p>  int curlen; /*當(dāng)前串的長度*/</p><p>  }seqstring;</p><p>  seqstring *s;</p><p>  void strcats()/*串的聯(lián)接*/</p><p

10、><b>  { </b></p><p>  seqstring str1[32],str2[32];</p><p>  printf("請輸入倆串字符串:");</p><p>  scanf("%s%s",str1,str2);</p><p>  strcat(s

11、tr1,str2);</p><p>  puts(str1);</p><p><b>  }</b></p><p>  void strlens()/*串的長度*/</p><p><b>  {</b></p><p>  seqstring str[32];<

12、/p><p><b>  int i;</b></p><p>  printf("請輸入一串字符串:");</p><p>  scanf("%s",str);</p><p>  i=strlen(str);</p><p>  printf("此

13、字符串的串長為:%d",i);</p><p><b>  }</b></p><p>  void strcmps()/*比較串的大小*/</p><p><b>  {</b></p><p>  seqstring str1[32],str2[32];</p><

14、p>  printf("請輸入兩串字符串:");</p><p>  scanf("%s%s",str1,str2);</p><p>  if(strcmp(str1,str2)>0)</p><p>  printf("1");</p><p>  if(strcmp

15、(str1,str2)==0)</p><p>  printf("0");</p><p>  if(strcmp(str1,str2)<0)</p><p>  printf("-1");</p><p><b>  }</b></p><p> 

16、 void strcpys()/*串的復(fù)制*/</p><p><b>  {</b></p><p>  seqstring str1[32],str2[32];</p><p>  printf("請輸入兩串字符串:");</p><p>  scanf("%s%s",str1

17、,str2);</p><p>  strcpy(str1,str2);</p><p>  printf("復(fù)制后的字符串為%s",str1);</p><p><b>  }</b></p><p>  void insert(seqstring *s,int i,seqstring *t)/*串

18、的插入*/</p><p><b>  {</b></p><p><b>  int j,k;</b></p><p>  printf("請輸入原字符串和其長度:");</p><p>  scanf("%s%d",s,&s->curlen)

19、;</p><p>  printf("請輸入要插入的字符串的長度:");</p><p>  scanf("%s%d",t,&t->curlen);</p><p>  for(j=s->curlen-1;j>=i;j--)</p><p>  s->ch[j+t-&g

20、t;curlen]=s->ch[j];</p><p>  for(k=0,j=i;t->ch[k]!='\0';k++,j++)</p><p>  s->ch[j]=t->ch[k];</p><p>  s->ch[s->curlen+t->curlen]='\0';</p>

21、<p>  s->curlen=s->curlen+t->curlen;</p><p>  printf("插入后的字符串為:");</p><p>  puts(s->ch);</p><p><b>  }</b></p><p>  void delete

22、s(seqstring *s,int i,int j)/*串的刪除*/</p><p><b>  {</b></p><p><b>  int k;</b></p><p>  printf("請輸入原字符串和其長度:");</p><p>  scanf("%s%

23、d",s,&s->curlen);</p><p>  for(k=i+j-1;s->ch[k]!='\0';k++)</p><p>  s->ch[k-j]=s->ch[k];</p><p>  s->ch[k-j]='\0';</p><p>  s-&g

24、t;curlen=k-j;</p><p>  printf("刪除后的字符串為:");</p><p>  puts(s->ch);</p><p><b>  }</b></p><p>  int index(seqstring *s,seqstring *t) /*串的定位*/<

25、/p><p><b>  {</b></p><p>  int i=0,j=0;</p><p>  printf("請輸入主串和子串的串長:");</p><p>  scanf("%d%d",&s->curlen,&t->curlen);</p&

26、gt;<p>  printf("請輸入主串和子串:");</p><p>  scanf("%s%s",s,t);</p><p>  while((i<s->curlen)&&(j<t->curlen))</p><p>  if(s->ch[i]==t->

27、ch[j])</p><p><b>  {</b></p><p><b>  i++;</b></p><p><b>  j++;</b></p><p><b>  }</b></p><p><b>  else

28、</b></p><p><b>  {</b></p><p><b>  i=i-j+1;</b></p><p><b>  j=0;</b></p><p><b>  }</b></p><p>  if(j=

29、=t->curlen)</p><p>  printf("\n匹配成功!");</p><p><b>  else</b></p><p>  printf("\n匹配失敗!");</p><p><b>  }</b></p><

30、;p>  void replace(seqstring *s,int i,int j,seqstring *t)</p><p><b>  {</b></p><p>  int k=0,l,n,m,p;</p><p><b>  l=i+j;</b></p><p>  printf(&

31、quot;請輸入主字符串的長度:");</p><p>  scanf("%d",&s->curlen);</p><p>  printf("請輸入要置換的字符串的長度:");</p><p>  scanf("%d",&t->curlen);</p>

32、<p>  printf("請輸入主字符串和要置換的字符串:");</p><p>  scanf("%s%s",s,t);</p><p>  if(j==t->curlen)</p><p><b>  {</b></p><p>  for(k=0;t->

33、;ch[k]!='\0';k++)</p><p><b>  {</b></p><p>  s->ch[i-1]=t->ch[k];</p><p><b>  i++;</b></p><p><b>  }</b></p>&l

34、t;p>  s->curlen=s->curlen+t->curlen-j;</p><p>  s->ch[s->curlen]='\0'; </p><p>  printf("置換后的字符串為:");</p><p>  puts(s->ch);</p><

35、p><b>  }</b></p><p><b>  else</b></p><p>  if(j>t->curlen)</p><p><b>  { </b></p><p>  while(s->ch[l-1]!='\0')&l

36、t;/p><p><b>  {</b></p><p>  m=j-t->curlen;</p><p>  s->ch[l-m-1]=s->ch[l-1]; </p><p><b>  l++;</b></p><p><b&

37、gt;  }</b></p><p>  for(k=0;t->ch[k]!='\0';k++)</p><p><b>  {</b></p><p>  s->ch[i-1]=t->ch[k];</p><p><b>  i+

38、+;</b></p><p><b>  }</b></p><p>  s->curlen=s->curlen+t->curlen-j;</p><p>  s->ch[s->curlen]='\0'; </p>

39、;<p>  printf("置換后的字符串為:"); </p><p>  puts(s->ch); </p><p><b>  }</b></p><p><b>  else</b></p><

40、p>  if(j<t->curlen)</p><p><b>  {</b></p><p>  p=n=s->curlen; </p><p>  while(n>=i+j)</p><p><b>  {</b

41、></p><p>  m=t->curlen-j;</p><p>  s->ch[n+m-1]=s->ch[n-1]; </p><p>  n--; </p><p><b>  }</b></p><p>  

42、for(k=0;t->ch[k]!='\0';k++) </p><p><b>  {</b></p><p>  s->ch[i-1]=t->ch[k]; </p><p>  i++; </p><p><b>

43、;  }</b></p><p>  s->curlen=p+t->curlen-j;</p><p>  s->ch[s->curlen]='\0'; </p><p>  printf("置換后的字符串為:"); </p>&l

44、t;p>  puts(s->ch); </p><p><b>  } </b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p>

45、<p>  int i=1,j;</p><p>  seqstring s,t;</p><p><b>  while(i)</b></p><p><b>  {</b></p><p>  printf("0:聯(lián)接\n1:求串長\n2:串比較\n3:串復(fù)制\n4:插入

46、\n5:刪除\n6:子串定位\n7:置換子串\n")</p><p>  scanf("%d",&i);</p><p><b>  switch(i)</b></p><p><b>  {</b></p><p>  case 0:strcats();bre

47、ak;</p><p>  case 1:strlens();break;</p><p>  case 2:strcmps();break;</p><p>  case 3:strcpys();break;</p><p>  case 4:printf("請輸入插入的位置:");</p>

48、<p>  scanf("%d",&i); </p><p>  insert(&s,i,&t);break; </p><p>  case 5:printf("請輸入刪除的位置和個數(shù):");</p><p>  scanf("%d%d",&i

49、,&j); </p><p>  deletes(&s,i,j);break;</p><p>  case 6:index(&s,&t);break;</p><p>  case 7:printf("請輸入置換的位置和個數(shù):");</p><p>  scanf(&

50、quot;%d%d",&i,&j); </p><p>  replace(&s,i,j,&t);break; </p><p><b>  }</b></p><p>  printf("\n0:停止\n1:繼續(xù)\n");</p><

51、;p>  scanf("%d",&i);</p><p><b>  }</b></p><p><b>  }</b></p><p>  2.2:程序設(shè)計的基本思想:</p><p>  (對于串及其基本操作中,程序被分割為很多的模塊。所以以下的程序設(shè)計業(yè)分成好

52、幾個方面來一一闡述)</p><p>  1).求字符串的聯(lián)接:在該函數(shù)中,strcat(str1,str2)就是將串str2緊接著放在串str1的串值的末尾,組成一個新的串str1。最后所得的新的str1即為所求的原來的兩個字符str1和str1的聯(lián)接后的結(jié)果,輸出即是。</p><p>  2).求字符串的串長:在該函數(shù)中,要先定義一個整形變量i,strlen(str)表示字符串str

53、的長度,它是一個整形函數(shù)。通過函數(shù)strlen(str)來算出字符串的長度,然后賦值給整形變量i輸出,從而i的值即為所求的字符串的長度。</p><p>  3).比較兩個字符串的大?。涸谠摵瘮?shù)中,strcmp(str1,str2)是一個函數(shù),它的功能是比較兩個串str1和str2的大小,通過if語句的判斷函數(shù)strcmp(str1,str2)的函數(shù)值大小,其中函數(shù)值小于、等于和大于0時,分別表示str1<

54、str2、str1=str2、str1>str2,其對應(yīng)的輸出結(jié)果分別為-1、0、1。</p><p>  4).串的復(fù)制:在該函數(shù)中,首先分別輸入兩串字符串str1和str2,通過函數(shù)strcpy(str1,str2)來實現(xiàn)str2復(fù)制給str1的功能,得到復(fù)制后的字符串為新的str1,輸出即為復(fù)制后的結(jié)果。</p><p>  5).求字符串的插入:該函數(shù)中有三個形參,兩個是字符

55、串s和t,一個是整形形參i。即把字符串t插入到s的第i個元素之后。在函數(shù)中,定義兩個個整形變量j、k,其中&s->curlen和&t->curlen分別指原字符串和要插入字符串的長度。用一個for循環(huán),"for(j=s->curlen—1;j>=i;j--)",滿足循環(huán)條件的要進(jìn)行的操作時把s->ch[j]賦值給s->ch[j+t->curlen],就是讓s-

56、>ch中空出等于&t-.curlen的長度的空間,好讓t可以插入。下面再用一個for循環(huán)''for(k=0,j=i;t->ch[k]!='\0';k++,j++)",再把t->ch[k]賦值給s->ch[j];這樣的把t插入到了s中。最后,給s->ch[s->curlen+t->curlen]賦值一個"\0",這時的s->

57、;ch[s->curlen+t->curlen]就是一個新的字符串,然后把s->ch[s->curlen+t->curlen]再賦值給s->curlen即可得到所求的新的字符串。</p><p>  6).求串的刪除:該函數(shù)有三個形參,一個是字符串s,兩個是整形形參i和j,在函數(shù)中定義一個整形變量k,輸入原字符串和其長度&s->curlen,函數(shù)中用for循環(huán),&

58、quot;for(k=i+j-1;s->ch[k]!='\0';k++)",把s->ch[k]賦值給s->ch[k-j],既用覆蓋的方式刪除從第i個元素開始連續(xù)j個元素,最后把''\0''賦值給s->ch[k-j],再把k-j賦值給s->curlen。s->ch就是所求的刪除從第i個元素開始連續(xù)j個元素后的新的字符串。</p>&

59、lt;p>  7).子串的定位:這個函數(shù)有兩個形參,s和t,在函數(shù)內(nèi)部,還要定義兩個整形變量i=0和j=0。用while語句'' while((i<s->curlen)&&(j<t->curlen))'',滿足條件后進(jìn)行的操作是檢驗對應(yīng)的s和t的元素是否相等,相等時就i++,j++,用i減去t的串長即為t作為子串在s中的定位位置。不相等時,就用i減去j加上1賦

60、值給i,j=0,往下掃描時,就從t的第一個元素再接著掃描。</p><p>  8).求字符串的置換:這個函數(shù)中有四個形參,兩個字符串s和t,兩個整形形參i和j,在函數(shù)內(nèi)部還要定義五個整形變量k=0、l、n、m、p。首先把i+j賦值給l;通過輸入輸入主字符串和要置換的字符串的長度、主字符串和要置換的字符串s和t。先要判斷j和將要被置換的字符串的串長關(guān)系,如果剛好相等,就讓t從第一個元素開始,s從第第i個元素開始,

61、一一賦值。如果t的串長比較大,則用一個for循環(huán),for''(k=s->curlen;k>=i+j-1;k++)'',s[k]賦值給s[k-j+t->scurlen],這樣剩余的空間剛好可以用來存放t的,同樣的,如果t的串長比較小,同樣用以for循環(huán),''for(k=i+j-1,m=i;s[k]!='\0';k++,m++)'',s[k]賦

62、值給s[m+t->curlen-1],s剩余的空間也剛好用來存放t的。然后,把t中的元素對應(yīng)的賦值給s。最后,在s的最后一個元素后賦值一個'\0',這時的s,就是t置換后的新的字符串。</p><p>  9).主函數(shù):在主函數(shù)中,因為要最多輸入兩個字符串,所以要先定義兩個字符串s和t。有的主函數(shù)需要用到整形的變量,最多是兩個,所以也要定義兩個整形變量k和m。函數(shù)中,有很多的功能不同的函數(shù),

63、這樣就要求驗證很多次,所以在這里我們考慮用菜單來實現(xiàn)。用一個while循環(huán),循環(huán)的條件為永真,這樣當(dāng)做完一個函數(shù)的驗證時,系統(tǒng)就會自動讓你接著選擇。在while循環(huán)下,輸入一個數(shù)字。每個數(shù)字代表不同的功能。然后用一個switch語句,不同的case對應(yīng)不同的函數(shù),如:case(0)就可以代表求字符串的串長。</p><p>  2.3 程序運行結(jié)果:</p><p> ?。?)串的聯(lián)接運行

64、結(jié)果如下圖1:</p><p>  圖1 串的聯(lián)接</p><p>  (2)求串長的運行結(jié)果如下:</p><p> ?。?)串比較的運行結(jié)果如下:</p><p> ?。?)串復(fù)制的運行結(jié)果如下:</p><p>  (5)串插入的運行結(jié)果如下:</p><p> ?。?)串的刪除的運

65、行結(jié)果如下: </p><p>  (7)子串定位的運行結(jié)果如下:</p><p> ?。?)置換子串的運行結(jié)果如下:</p><p>  第三章:課程設(shè)計的優(yōu)點及遇到的問題</p><p>  3.1:課程設(shè)計的優(yōu)缺點:</p><p> ?。?).優(yōu)點:對于串中的簡單的基本操作幾乎都可以實現(xiàn)。對于串的操作

66、包括了聯(lián)接、求串長、比較串的大小、插入、刪除、子串的定位、和串的置換。而且在最后的主函數(shù)中,應(yīng)用了菜單,使得對于程序的檢驗變得簡單,容易執(zhí)行。</p><p>  (2).缺點:對于關(guān)于串的某些具體應(yīng)用,如比較串的大小,僅僅只能比較兩個,如果是多個串的比較的話,則不能應(yīng)用。即只能較簡單的應(yīng)用,應(yīng)付不了較復(fù)雜的要求。</p><p>  3.2:課程設(shè)計過程中遇到的問題:</p>

67、<p>  在進(jìn)行串的聯(lián)接時應(yīng)注意,聯(lián)接是把后面的一個串聯(lián)接到前面的串后,所以聯(lián)接是不滿足交換的。</p><p>  在比較兩個串的大小時,當(dāng)比較開始時,兩個串元素不為空,比較繼續(xù)進(jìn)行,s大于t,s小于t,但除此之外,并不能說s就等于t了,這個時候還要考慮此時的s和t中元素是不是已經(jīng)為'\0'了,如果是,則說明兩個串自此之前是相等的,這時只要比串長就可以了。哪一個的串長大,哪一個就

68、比較大。如果仍然相等,這時才能說明s和t是相等的。</p><p>  對于有些串的形參,有的不需要規(guī)定空間,但有的必須給定空間。如串的聯(lián)接,把一個串插入到另一個串的操作等。因為如果不給定空間大小,這時系統(tǒng)就會根據(jù)實參的大小自動分配空間,這時若想在這個串中增加字符,空間就會不夠。</p><p>  在子串的定位時,掃描的串中的某一個元素與子串中的第一個元素相同,接著往下掃描,若都相同時,

69、才可以說明串中出現(xiàn)的子串中的第一個元素的位置是子串位置。但如果后面的元素有不同的,則子串中的掃描必須回到第一個元素的位置開始重新掃描。</p><p>  在進(jìn)行置換時,重點要考慮是用來置換的串和它所要置換的一串的字符的長度的關(guān)系,如果剛剛相等,則置換可以簡單順利的進(jìn)行。但如果不相等時,就要根據(jù)后面用來置換的串的長度來具體解決。</p><p>  在串的聯(lián)接時,在串的最后注意不能忘記賦值

70、'\0'。因為每個字符串的結(jié)果標(biāo)志都是'\0'。</p><p>  最后就是在主函數(shù)中,應(yīng)用菜單,使檢驗變得簡單。 </p><p><b>  第四章:總結(jié)</b></p><p><b>  4.1:個人

71、小結(jié):</b></p><p>  通過此次關(guān)于串及其基本操作的課程設(shè)計,讓我更好的了解了串的概念、特征及其基本操作。除此之外,還知道了串的應(yīng)用非常廣泛的,凡涉及到字符處理的領(lǐng)域都要使用串。在設(shè)計程序的過程中,除了要把程序正確無誤地編寫出來以外,還要考慮程序簡單化,提高函數(shù)的可用性。同時也要注意,在編寫程序的過程中,有很多問題是不容易發(fā)現(xiàn)的,有時,需要在程序運行的時候才能發(fā)現(xiàn)。程序中多少存在這樣那樣的

72、缺陷,所以要盡可能地使程序完善,修改不盡完美的地方。</p><p>  本次課程設(shè)計是對我們這一學(xué)期來數(shù)據(jù)結(jié)構(gòu)課程學(xué)習(xí)成果的一次實踐檢驗,是對我們的一種全面綜合訓(xùn)練,是與課堂聽講、自學(xué)和練習(xí)相輔相成的必不可少的一個教學(xué)環(huán)節(jié),本次課程設(shè)計的的問題比平時的習(xí)題復(fù)雜的多,也更接近實際。 </p><p>  在這次課程設(shè)計的實踐過程中,剛開始時候由于對問題的認(rèn)識還不是很清楚和對c語言一些知

73、識的遺忘,遇到問題解決不了。通過向老師和同學(xué)請教,還有自己重新復(fù)習(xí)了c語言那本書。然后又重新對問題進(jìn)行分析,設(shè)計和調(diào)試。實現(xiàn)串操作的基本函數(shù),可以借鑒我們在作業(yè)系統(tǒng)中遇到的相類似的題目,進(jìn)行思考和總結(jié),便很容易實現(xiàn)串的基本操作函數(shù);在接受命令的輸入格式方面,試了很多種方法。在調(diào)試程序的過程中,遇到一些結(jié)果不正確或超出范圍的情況,又要重新返回相應(yīng)的函數(shù)進(jìn)行檢查和修改補(bǔ)充,才能使程序更加健壯和完整,才能做出一個更加實用的軟件</p&g

74、t;<p>  本次的課程設(shè)計經(jīng)過自己的努力和老師的幫助,順利的完成了程序設(shè)計要求的基本內(nèi)容和要求,對自己的編程水平有了很大程度的提高,讓我們繼續(xù)努力,努力做一個優(yōu)秀的軟件設(shè)計者。</p><p><b>  4.2:參考文獻(xiàn):</b></p><p>  [1]唐策善、李龍澍、黃劉生等編著. 數(shù)據(jù)結(jié)構(gòu)----用C語言描述.高等教育出社</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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論