2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  為了使字符或字符串的相關(guān)操作更方便簡(jiǎn)潔,本系統(tǒng)設(shè)計(jì)了一個(gè)字符串函數(shù)包來實(shí)現(xiàn)常用的字符和字符串的處理。該軟件的主要功能是對(duì)字符串的比較、復(fù)制、拼接,判斷字符的類別,對(duì)字符串進(jìn)行轉(zhuǎn)換,統(tǒng)計(jì)字符串中出現(xiàn)的指定字符或字符串,,把整數(shù)轉(zhuǎn)換到字符串中,把浮點(diǎn)數(shù)轉(zhuǎn)換成字符串,把字符串轉(zhuǎn)換成整數(shù)。</p><p>  

2、該操作系統(tǒng)主要運(yùn)用了幾個(gè)函數(shù):scanf,printf,puts,putc,getc,gets等,并結(jié)合指針來實(shí)現(xiàn)的。用戶可以根據(jù)清晰明確的提示信息選擇相應(yīng)的操作項(xiàng)目,進(jìn)入每個(gè)系統(tǒng)后也可以根據(jù)提示信息實(shí)現(xiàn)需要的操作。本系統(tǒng)主要適合需要對(duì)字符或字符串進(jìn)行處理的用戶。</p><p>  關(guān)鍵詞:字符串 浮點(diǎn)數(shù) 指針 操作系統(tǒng)</p><p><b>  課程設(shè)計(jì)任務(wù)書</b&

3、gt;</p><p>  設(shè)計(jì)題目:字符串函數(shù)包</p><p>  教研室主任: 指導(dǎo)教師:伍建全/雷亮/焦曉軍/陳應(yīng)祖/楊治明 2012年1月1日</p><p><b>  目 錄<

4、/b></p><p><b>  摘 要1</b></p><p><b>  課程設(shè)計(jì)任務(wù)書2</b></p><p>  1 軟件需求分析說明書5</p><p>  2 系統(tǒng)分析與設(shè)計(jì)6</p><p>  2.1 軟件界面設(shè)計(jì)6</p>

5、;<p>  2.2 軟件的數(shù)據(jù)(結(jié)構(gòu))設(shè)計(jì)6</p><p>  2.3軟件的算法設(shè)計(jì)6</p><p><b>  3 軟件的實(shí)現(xiàn)8</b></p><p><b>  4 軟件測(cè)試17</b></p><p>  5 軟件使用說明書21</p><p

6、><b>  致謝23</b></p><p><b>  參考文獻(xiàn)24</b></p><p><b>  附錄25</b></p><p>  1 軟件需求分析說明書</p><p>  該系統(tǒng)有十七個(gè)實(shí)現(xiàn)功能,進(jìn)入界面后可以按提示的數(shù)字進(jìn)行選擇功能,通過界面輸

7、入,可以在界面看到輸出內(nèi)容,并且所有結(jié)果都保存在當(dāng)前文件XX.out中。</p><p><b>  該系統(tǒng)有以下功能</b></p><p>  1 判斷字符進(jìn)行的類別</p><p>  2 兩個(gè)字符串的比較(整體或前幾個(gè)字符的比較)</p><p>  3 兩個(gè)字符串的復(fù)制(整體或前幾個(gè)字符的復(fù)制)</p&g

8、t;<p>  4 兩個(gè)字符串的拼接(整體或前幾個(gè)字符的拼接)</p><p><b>  5 求字符串的長(zhǎng)度</b></p><p><b>  6 字符串的轉(zhuǎn)換</b></p><p>  7 整數(shù)轉(zhuǎn)換到字符串</p><p>  8 統(tǒng)計(jì)字符串中指定某子串出現(xiàn)的次數(shù)或首位置<

9、;/p><p>  9 判斷字符串中是否存在指定字符串的字符</p><p>  2 系統(tǒng)分析與設(shè)計(jì)</p><p>  2.1 軟件界面設(shè)計(jì)</p><p>  2.2 軟件數(shù)據(jù)(結(jié)構(gòu))設(shè)計(jì)</p><p>  本系統(tǒng)只運(yùn)用了# include<stdio.h> 包頭文件,并將結(jié)果保存在當(dāng)前文件XX. ou

10、t中,文件內(nèi)部一行為一個(gè)輸出結(jié)果。</p><p>  2.3 軟件的算法設(shè)計(jì)</p><p><b>  圖 2.1</b></p><p><b>  圖2.2</b></p><p><b>  圖2.3</b></p><p><b>

11、  3 軟件的實(shí)現(xiàn)</b></p><p>  本軟件主要運(yùn)用了if語句,文件的輸出和幾個(gè)函數(shù)體來實(shí)現(xiàn)的。</p><p>  文件的輸出 fpout=fopen("XX.out","w");</p><p><b>  函數(shù)結(jié)構(gòu)體:</b></p><p>  int

12、 mystrcmp(char *s1,char *s2)//字符串的比較</p><p><b>  {</b></p><p>  while(*s1!='\0'&& *s2!='\0')</p><p><b>  {</b></p><p>  

13、if(*s1>*s2)</p><p><b>  return 1;</b></p><p>  if(*s1<*s2)</p><p>  return -1;</p><p>  if(*s1==*s2)</p><p><b>  {</b></p&

14、gt;<p><b>  s1++;</b></p><p><b>  s2++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(*s1=='\0'&

15、;& *s2=='\0')</p><p><b>  return 0;</b></p><p>  if(*s1=='\0'&& *s2!='\0')</p><p>  return -1;</p><p>  if(*s1!='\0&

16、#39;&& *s2=='\0')</p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  int mystrncmp(char *s1,char *s2,int g)//字符串前幾個(gè)字符的比較</p><p&

17、gt;<b>  {</b></p><p><b>  int i=1;</b></p><p>  while(*s1!='\0'&& *s2!='\0'&& i++<=g)</p><p><b>  {</b></p&

18、gt;<p>  if(*s1>*s2)</p><p><b>  return 1;</b></p><p>  if(*s1<*s2)</p><p>  return -1;</p><p>  if(*s1==*s2)</p><p><b>  {&

19、lt;/b></p><p><b>  s1++;</b></p><p><b>  s2++;</b></p><p><b>  }</b></p><p>  if(*s1==*s2)</p><p><b>  return

20、0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void mystrcpy(char *s1,char *s2)//字符串的復(fù)制</p><p><b>  {</b></p><

21、p>  while(*s2!='\0')</p><p><b>  {</b></p><p><b>  *s1=*s2;</b></p><p><b>  s1++;</b></p><p><b>  s2++;</b>&l

22、t;/p><p><b>  }</b></p><p><b>  *s1='\0';</b></p><p><b>  }</b></p><p>  void mystrncpy(char *s1,char *s2,int g)//字符串前幾個(gè)字符的復(fù)制&l

23、t;/p><p><b>  {</b></p><p><b>  int i=1;</b></p><p>  while(*s2!='\0'&& i++<=g)</p><p><b>  {</b></p><p&g

24、t;<b>  *s1=*s2;</b></p><p><b>  s1++;</b></p><p><b>  s2++;</b></p><p><b>  }</b></p><p><b>  *s1='\0';<

25、;/b></p><p><b>  }</b></p><p>  void mystrcat(char *s1,char *s2)//字符串的拼接</p><p><b>  { </b></p><p>  while (*s1!='\0')</p>&l

26、t;p><b>  {s1++;}</b></p><p>  while(*s2!='\0')</p><p><b>  {</b></p><p><b>  *s1=*s2;</b></p><p>  s1++;s2++;</p>

27、<p><b>  }</b></p><p><b>  *s1='\0';</b></p><p><b>  }</b></p><p>  void mystrncat(char *s1,char *s2,int g)//字符串前幾個(gè)的拼接</p>&l

28、t;p><b>  {</b></p><p><b>  int i=1;</b></p><p>  while(*s1!='\0')</p><p><b>  {s1++;}</b></p><p>  while(*s2!='\0'

29、;&& i++<=g)</p><p>  {*s1=*s2;s1++;s2++;}</p><p><b>  *s1='\0';</b></p><p><b>  }</b></p><p>  int mystrlen (char*s)//字符串的長(zhǎng)度&

30、lt;/p><p><b>  {</b></p><p><b>  int c=0;</b></p><p>  while(*s!='\0')</p><p><b>  {</b></p><p><b>  c++;<

31、;/b></p><p><b>  s++;</b></p><p><b>  }</b></p><p><b>  return c;</b></p><p><b>  }</b></p><p>  char *m

32、y_itoa(int a,char *s)//整數(shù)轉(zhuǎn)換到字符串</p><p>  { int t,i,b;</p><p><b>  char str;</b></p><p>  for(i=0;a>0;i++)</p><p><b>  {</b></p><

33、;p><b>  t=a%10;</b></p><p>  s[i]=t+48;</p><p><b>  a=a/10;</b></p><p><b>  }</b></p><p>  s[i]='\0';</p><p>

34、;  if(i%2!=0)</p><p><b>  {</b></p><p>  for(b=1;b<=i/2+1;b++,i--)</p><p><b>  {</b></p><p>  str=s[b-1];</p><p>  s[b-1]=s[i-1]

35、;</p><p>  s[i-1]=str;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i%2==0)</p><p><b>  {</b></p><p>  

36、for(b=1;b<=i/2+1;b++,i--)</p><p><b>  {</b></p><p>  str=s[a-1];</p><p>  s[a-1]=s[i-1];</p><p>  s[i-1]=str;</p><p><b>  }</b>&

37、lt;/p><p><b>  }</b></p><p><b>  return s;</b></p><p><b>  } </b></p><p>  char * my_itof(double d, char* str)//浮點(diǎn)數(shù)轉(zhuǎn)換成字符串</p>&

38、lt;p><b>  { </b></p><p>  char str1[40]; </p><p>  int i,j=0; </p><p>  int index=0; </p><p>  int dotPos = 0; </p><p>  unsigned long

39、num; </p><p>  // 正負(fù)號(hào) </p><p>  if ( d < 0 ) </p><p><b>  { </b></p><p>  str[index++] = '-'; </p><p>  d = 0 - d; </p>

40、;<p><b>  } </b></p><p>  // 判斷小數(shù)點(diǎn)位置 </p><p>  for (i=0; i<10; i++) </p><p><b>  { </b></p><p>  if (d >= 1) </p><

41、;p><b>  { </b></p><p>  d = d / 10; </p><p>  dotPos += 1; </p><p><b>  } </b></p><p>  else if (d < 0.1) </p><p><b&

42、gt;  { </b></p><p>  d = d * 10; </p><p>  dotPos -= 1; </p><p><b>  } </b></p><p><b>  else </b></p><p><b>  brea

43、k; </b></p><p><b>  } </b></p><p>  for (i=0; i<7; i++) </p><p>  d *= 10; </p><p>  num = (unsigned long)(d + 0.5); </p><p>  wh

44、ile ( num>0 ) </p><p><b>  { </b></p><p>  str1[j++] = (char)num%10+'0'; // 0098651 098651 </p><p>  num /= 10; </p><p><b>  

45、} </b></p><p>  if (dotPos < 1) </p><p><b>  { </b></p><p>  str[index++] = '0'; </p><p>  str[index++] = '.'; </p><

46、;p>  for (i=0; i<0-dotPos; i++) </p><p>  str[index++] = '0'; </p><p>  for (i=0; i<j; i++) </p><p>  str[index++] = str1[j-1-i]; </p><p><

47、b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p>  for (i=0; i<dotPos; i++) </p><p>  str[index++] = str1[j-1-i]; <

48、;/p><p>  str[index++] = '.'; </p><p>  for (; i<j; i++) </p><p>  str[index++] = str1[j-1-i]; </p><p><b>  } </b></p><p>  // 清

49、零 </p><p>  while ( str[--index]=='0' ); </p><p>  index++; </p><p>  // 清除最后面的一個(gè)小數(shù)點(diǎn) '.' </p><p>  while ( str[--index]=='.' );

50、</p><p>  str[++index] = '\0'; </p><p>  return(str); </p><p><b>  } </b></p><p>  long fun(char s[])</p><p><b>  {</b>&

51、lt;/p><p><b>  int i;</b></p><p>  while(s[i]!='\0')</p><p><b>  {</b></p><p>  s[i]=s[i]-48; //48為字符‘0’的ASCII碼,</p><p>  /

52、/ 字符和整形數(shù)可以直接運(yùn)算,結(jié)果為整數(shù)輸出數(shù)組用%d就可以 </p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  int my_strtoi(char *s) /

53、/字符串轉(zhuǎn)換成整數(shù)</p><p>  { int a,h=0;</p><p>  while(*s!='\0')</p><p><b>  {</b></p><p><b>  a=*s-'0';</b></p><p><b

54、>  h=h*10+a;</b></p><p><b>  s++;</b></p><p><b>  }</b></p><p><b>  return h;</b></p><p><b>  }</b></p>

55、<p>  void mystrlow(char*s)//大寫字符變小寫</p><p><b>  {</b></p><p>  while(*s!='\0')</p><p><b>  {</b></p><p>  if(*s>='A'&am

56、p;& *s<='z')</p><p>  { *s+=32;}</p><p><b>  s++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void

57、mystrupr(char*s)//小寫字符變大寫</p><p><b>  {</b></p><p>  while(*s!='\0')</p><p><b>  {</b></p><p>  if(*s>='a'&& *s<=&

58、#39;z')</p><p>  { *s-=32;}</p><p><b>  s++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  int mystrstrcount(ch

59、ar*s1,char*s2)//統(tǒng)計(jì)字符串中指定某子串出現(xiàn)的次數(shù)</p><p><b>  {</b></p><p>  int len2=mystrlen(s2);</p><p>  int len1=mystrlen(s1);</p><p>  int i,j,count1=0,count2=0;</p

60、><p>  for(i=0;i+len2<len1;i++,count1=0)</p><p><b>  {</b></p><p>  for(j=0;j<len2;j++)</p><p><b>  {</b></p><p>  if(*(s1+i+j)=

61、=*(s2+j))</p><p><b>  count1++;</b></p><p><b>  }</b></p><p>  if(count1==len2)</p><p><b>  count2++;</b></p><p><b&

62、gt;  count1=0;</b></p><p><b>  }</b></p><p>  return count2;</p><p><b>  }</b></p><p>  int mystrstr(char*s1,char*s2)//統(tǒng)計(jì)字符串中指定某子串出現(xiàn)的首位置&l

63、t;/p><p><b>  {</b></p><p>  int len2=mystrlen(s2);</p><p>  int len1=mystrlen(s1);</p><p>  int i,j,count1=0,count2=0;</p><p>  for(i=0;i+len2<

64、;len1;i++,count1=0)</p><p><b>  {</b></p><p>  for(j=0;j<len2;j++)</p><p><b>  {</b></p><p>  if(*(s1+i+j)==*(s2+j))</p><p><

65、b>  count1++;</b></p><p><b>  }</b></p><p>  if(count1==len2)</p><p>  return i+j-len2+1;</p><p><b>  }</b></p><p><b&g

66、t;  }</b></p><p>  char *mystrptr(char *s1,char *s2)//判斷字符串中是否存在指定字符</p><p><b>  {</b></p><p><b>  char *p;</b></p><p>  while(*s1!='\

67、0')</p><p><b>  {</b></p><p><b>  p=s2;</b></p><p>  while(*p!='\0')</p><p><b>  {</b></p><p>  if(*s1==*p)

68、</p><p><b>  {</b></p><p>  return(char*)s1;</p><p><b>  }</b></p><p><b>  p++;</b></p><p><b>  }</b></p

69、><p><b>  s1++;</b></p><p><b>  }</b></p><p>  return NULL;</p><p><b>  }</b></p><p><b>  4軟件的測(cè)試</b></p>

70、<p><b>  1字符的判斷</b></p><p>  int mystrcmp(char *s1,char *s2) //字符串的比較</p><p>  int mystrncmp(char *s1,char *s2,int g) //字符串前幾個(gè)字符的比較</p><p>  void mystrcpy(char

71、 *s1,char *s2) //字符串的復(fù)制</p><p>  void mystrncpy(char *s1,char *s2,int g) //字符串前幾個(gè)字符的復(fù)制</p><p>  void mystrcat(char *s1,char *s2) //字符串的拼接</p><p>  void mystrncat(char *s1,char

72、*s2,int g) //字符串前幾個(gè)字符的拼接</p><p>  int mystrlen (char*s) //求字符串的長(zhǎng)度</p><p>  char * my_itof(double d, char* str) //浮點(diǎn)數(shù)轉(zhuǎn)換成字符串</p><p>  void mystrupr(char*s) //字符串中的字符小寫變大寫</p>

73、;<p>  void mystrlow(char*s) //字符串中的字符大寫變小寫</p><p>  nt mystrstrcount(char*s1,char*s2) //統(tǒng)計(jì)字符串中指定某子串出現(xiàn)的次數(shù)</p><p>  int mystrstr(char*s1,char*s2) //統(tǒng)計(jì)字符串中指定某子串出現(xiàn)的首位置</p><p>

74、;  char *mystrptr(char *s1,char *s2) //判斷字符串中是否存在指定字符</p><p><b>  5 軟件使用說明書</b></p><p>  操作該系統(tǒng)主要是在界面內(nèi)選擇需要的功能,而且有的功能里有包含其他的功能進(jìn)行選擇;一定要根據(jù)系統(tǒng)的提示來選擇。</p><p>  例如 如果你想將字符串中的大寫

75、字母變小寫,那么根據(jù)提示應(yīng)該按6,該系統(tǒng)就進(jìn)入了字符串轉(zhuǎn)換系統(tǒng)</p><p>  然后根據(jù)所提示信息輸入數(shù)據(jù)(每次輸完數(shù)據(jù)按回車鍵后系統(tǒng)將會(huì)繼</p><p>  續(xù)運(yùn)行),最后就可以得到需要操作的結(jié)果,并且所有的結(jié)果都保存在當(dāng)前文件xx.out中。</p><p><b>  致謝</b></p><p>  非常感

76、謝雷亮老師和伍健全老師的幫助,還有我的室友劉春花、鄭欣儀、鄒田的幫助。謝謝!</p><p>  2011年 1月12日</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]何欽銘 顏暉.《C語言程序設(shè)計(jì)》.高等教育出版社.2008年</p><p>  [2]譚浩強(qiáng) 張基溫.《C語言程序設(shè)計(jì)教程》.

77、高等教育出版社.2006年</p><p><b>  附錄</b></p><p>  # include <stdio.h></p><p>  int mystrcmp(char *s1,char *s2);</p><p>  int mystrncmp(char *s1,char *s2,int g

78、);</p><p>  void mystrcpy(char *s1,char *s2);</p><p>  void mystrncpy(char *s1,char *s2,int g);</p><p>  void mystrcat(char *s1,char *s2);</p><p>  void mystrncat(char

79、*s1,char *s2,int g);</p><p>  int mystrlen (char*s);</p><p>  char *my_itoa(int a,char *s);</p><p>  char * my_itof(double d, char* str); </p><p>  int my_strtoi(char

80、*s);</p><p>  void mystrlow(char*s);</p><p>  void mystrupr(char*s);</p><p>  int mystrstrcount(char*s1,char*s2);</p><p>  int mystrstr(char*s1,char*s2);</p><

81、;p>  char *mystrptr(char *s1,char *s2);</p><p>  int main()</p><p><b>  {</b></p><p>  FILE *fpout;</p><p><b>  double d;</b></p><

82、p>  char s1[30];char s2[30];</p><p>  int n,m,g,h,count,a;</p><p><b>  char ch;</b></p><p>  fpout=fopen("XX.out","w");</p><p>  puts

83、("........................歡迎使用字符串函數(shù)包!.......................\n");</p><p>  puts("請(qǐng)選擇你的操作類型:\n");</p><p>  puts("1字符的判斷\t2字符串的比較\t3字符串的復(fù)制\n4字符串的拼接\t5字符串的長(zhǎng)度\t6字符串的轉(zhuǎn)換\n7整數(shù)轉(zhuǎn)

84、換到字符\t 8浮點(diǎn)數(shù)轉(zhuǎn)換成字符\t9字符串轉(zhuǎn)換成整數(shù)\n10統(tǒng)計(jì)字符串中指定某子串出現(xiàn)的次數(shù)\n11統(tǒng)計(jì)字符串中指定某子串出現(xiàn)的首位置\n12判斷字符串中是否存在指定字符\n\n(注意:若選擇1,按回車鍵后直接輸入要判斷的字符。)");</p><p>  puts("請(qǐng)輸入操作類型前面的數(shù)字:"); </p><p>  scanf("%d

85、",&n);</p><p><b>  if(n==1)</b></p><p>  { scanf("\n");</p><p>  scanf("%c",&ch);</p><p>  if(ch>='a'&&

86、; ch<='z')</p><p><b>  {</b></p><p>  printf("該字符為英文小寫字母\n");</p><p>  fprintf(fpout,"該字符為英文小寫字母\n");</p><p><b>  }<

87、/b></p><p>  if(ch>='A'&& ch<='Z')</p><p><b>  {</b></p><p>  printf("該字符為英文大寫字母\n");</p><p>  fprintf(fpout,&quo

88、t;該字符為英文大寫字母\n");</p><p><b>  }</b></p><p>  if(ch>='1'&& ch<='9')</p><p><b>  {</b></p><p>  printf("該字

89、符為數(shù)字字符\n");</p><p>  fprintf(fpout,"該字符為數(shù)字字符\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(n==2)</b></p&

90、gt;<p>  { puts("...............歡迎進(jìn)入字符串比較系統(tǒng)............ ");</p><p>  puts("請(qǐng)輸入需要比較的兩個(gè)字符串\n第一個(gè)為:");</p><p>  scanf("%s",s1);</p><p>  puts(&quo

91、t;第二個(gè)為:");</p><p>  scanf("%s",s2);</p><p>  puts("比較整個(gè)字符串請(qǐng)按1,比較前幾個(gè)字符請(qǐng)按2");</p><p>  scanf("%d",&m);</p><p><b>  if(m==1)&l

92、t;/b></p><p><b>  {</b></p><p>  if(mystrcmp(s1,s2)==1)</p><p>  { printf("第一個(gè)字符串大\n");</p><p>  fprintf(fpout,"第一個(gè)字符串大\n");}</p&g

93、t;<p>  if(mystrcmp(s1,s2)==-1)</p><p>  {printf("第二個(gè)字符串大\n");</p><p>  fprintf(fpout,"第二個(gè)字符串大\n");}</p><p>  if(mystrcmp(s1,s2)==0)</p><p>

94、  {printf("兩個(gè)字符串一樣\n");</p><p>  fprintf(fpout,"兩個(gè)字符串一樣\n");}</p><p><b>  }</b></p><p><b>  if(m==2)</b></p><p><b>  

95、{</b></p><p>  puts("請(qǐng)輸入比較前幾個(gè)字符的值:");</p><p>  scanf("%d",&g);</p><p>  if(mystrncmp(s1,s2,g)==1)</p><p>  { printf("第一個(gè)字符串前%d個(gè)字符大\n&

96、quot;,g);</p><p>  fprintf(fpout,"第一個(gè)字符串前%d個(gè)字符大\n",g);}</p><p>  if(mystrncmp(s1,s2,g)==-1)</p><p>  {printf("第二個(gè)字符串前%d個(gè)字符大\n",g);</p><p>  fprintf

97、(fpout,"第二個(gè)字符串前%d個(gè)字符大\n",g);}</p><p>  if(mystrncmp(s1,s2,g)==0)</p><p>  {printf("兩個(gè)字符串前%d個(gè)字符一樣\n",g);</p><p>  fprintf(fpout,"兩個(gè)字符串前%d個(gè)字符一樣\n",g);}&

98、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(n==3)</b></p><p>  { puts("...............歡迎進(jìn)入字符串復(fù)制系統(tǒng)............ ");&l

99、t;/p><p>  puts("請(qǐng)輸入需要的兩個(gè)字符串\n第一個(gè)為:");</p><p>  scanf("%s",s1);</p><p>  puts("第二個(gè)為:");</p><p>  scanf("%s",s2);</p><p&g

100、t;  puts("整個(gè)字符串復(fù)制請(qǐng)按1,前幾個(gè)字符復(fù)制請(qǐng)按2");</p><p>  scanf("%d",&m);</p><p><b>  if(m==1)</b></p><p><b>  {</b></p><p>  puts(&qu

101、ot;把第一個(gè)字符串復(fù)制給第二個(gè)請(qǐng)按1,反之按2");</p><p>  scanf("%d",&h);</p><p><b>  if(h==1)</b></p><p>  { mystrcpy(s2,s1);</p><p>  printf("復(fù)制后的字符串

102、為:%s\n",s2);</p><p>  fprintf(fpout,"復(fù)制后的字符串為:%s\n",s2);}</p><p><b>  if(h==2)</b></p><p>  { mystrcpy(s1,s2);</p><p>  printf("復(fù)制后的字符

103、串為:%s\n",s1);</p><p>  fprintf(fpout,"復(fù)制后的字符串為:%s\n",s1);}</p><p><b>  }</b></p><p><b>  if(m==2)</b></p><p>  {puts("請(qǐng)輸入需要

104、復(fù)制前幾個(gè)字符的值:");</p><p>  scanf("%d",&g);</p><p>  printf("把第一個(gè)字符串前幾個(gè)字符復(fù)制給第二個(gè)請(qǐng)按1,反之按2");</p><p>  scanf("%d",&h);</p><p><b&g

105、t;  if(h==1)</b></p><p>  { mystrncpy(s2,s1,g);</p><p>  printf("復(fù)制后的字符串為:%s\n",s2);</p><p>  fprintf(fpout,"復(fù)制后的字符串為:%s\n",s2);}</p><p><

106、;b>  if(h==2)</b></p><p>  { mystrncpy(s1,s2,g);</p><p>  printf("復(fù)制后的字符串為:%s\n",s1);</p><p>  fprintf(fpout,"復(fù)制后的字符串為:%s\n",s1);}</p><p>

107、;<b>  }</b></p><p><b>  }</b></p><p><b>  if(n==4)</b></p><p><b>  { </b></p><p>  puts("...............歡迎進(jìn)入字符串拼接系

108、統(tǒng)............ ");</p><p>  puts("請(qǐng)輸入需要的兩個(gè)字符串\n第一個(gè)為:");</p><p>  scanf("%s",s1);</p><p>  puts("第二個(gè)為:");</p><p>  scanf("%s"

109、,s2);</p><p>  puts("整個(gè)字符串拼接請(qǐng)按1,前幾個(gè)字符拼接請(qǐng)按2");</p><p>  scanf("%d",&m);</p><p><b>  if(m==1)</b></p><p><b>  {</b></p&

110、gt;<p>  puts("把第一個(gè)字符串拼接到第二個(gè)請(qǐng)按1,反之按2");</p><p>  scanf("%d",&h);</p><p><b>  if(h==1)</b></p><p>  { mystrcat(s2,s1);</p><p&g

111、t;  printf("拼接后的字符串為:%s\n",s2);</p><p>  fprintf(fpout,"拼接后的字符串為:%s\n",s2);}</p><p><b>  if(h==2)</b></p><p>  { mystrcat(s1,s2);</p><p&

112、gt;  printf("拼接后的字符串為:%s\n",s1);</p><p>  fprintf(fpout,"拼接后的字符串為:%s\n",s1);}</p><p><b>  }</b></p><p><b>  if(m==2)</b></p><p

113、>  {puts("請(qǐng)輸入需要拼接前幾個(gè)字符的值:");</p><p>  scanf("%d",&g);</p><p>  printf("把第一個(gè)字符串前幾個(gè)字符拼接到第二個(gè)請(qǐng)按1,反之按2\n");</p><p>  scanf("%d",&h);&l

114、t;/p><p><b>  if(h==1)</b></p><p>  { mystrncat(s2,s1,g);</p><p>  printf("拼接后的字符串為:%s\n",s2);</p><p>  fprintf(fpout,"拼接后的字符串為:%s\n",s2)

115、;}</p><p><b>  if(h==2)</b></p><p>  { mystrncat(s1,s2,g);</p><p>  printf("拼接后的字符串為:%s\n",s1);</p><p>  fprintf(fpout,"拼接后的字符串為:%s\n"

116、,s1);}</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(n==5)</b></p><p><b>  { </b></p><p>  puts("

117、;...............歡迎進(jìn)入字符串中實(shí)際字符技術(shù)系統(tǒng)............ ");</p><p>  printf("請(qǐng)輸入字符串:");</p><p>  scanf("%s",s1);</p><p>  printf("該字符串長(zhǎng)度為%d\n",mystrlen(s1));

118、</p><p>  fprintf(fpout,"該字符長(zhǎng)度為%d\n",mystrlen(s1));</p><p><b>  }</b></p><p><b>  if(n==6)</b></p><p><b>  {</b></p>

119、<p>  puts("...............歡迎進(jìn)入字符串轉(zhuǎn)換系統(tǒng)............ ");</p><p>  puts("請(qǐng)輸入字符串 :");</p><p>  scanf("%s",s1);</p><p>  puts("小寫轉(zhuǎn)大寫請(qǐng)按1,反之按2\n&q

120、uot;);</p><p>  scanf("%d",&m);</p><p><b>  if(m==1)</b></p><p><b>  {</b></p><p>  mystrupr(s1);</p><p>  printf(&qu

121、ot;轉(zhuǎn)換后的字符串為:%s\n",s1);</p><p>  fprintf(fpout,"轉(zhuǎn)換后的字符串為:%s\n",s1);</p><p><b>  }</b></p><p><b>  if(m==2)</b></p><p><b>  {

122、</b></p><p>  mystrlow(s1);</p><p>  printf("轉(zhuǎn)換后的字符串為:%s\n",s1);</p><p>  fprintf(fpout,"轉(zhuǎn)換后的字符串為:%s\n",s1);</p><p><b>  }</b><

123、/p><p><b>  }</b></p><p><b>  if(n==7)</b></p><p><b>  {</b></p><p>  puts("...............歡迎進(jìn)入字符串轉(zhuǎn)換成整數(shù)系統(tǒng)............ ");<

124、;/p><p>  printf("請(qǐng)輸入一個(gè)整數(shù):\n");</p><p>  scanf("%d",&m);</p><p>  my_itoa(m,s1);</p><p>  printf("轉(zhuǎn)換成的字符串為%s\n",s1);</p><p>

125、  fprintf(fpout,"轉(zhuǎn)換成的字符串為%s\n",s1);</p><p><b>  }</b></p><p><b>  if(n==8)</b></p><p><b>  {</b></p><p>  puts(".....

126、..........歡迎進(jìn)入浮點(diǎn)數(shù)轉(zhuǎn)換成字符系統(tǒng)............ ");</p><p>  printf("請(qǐng)輸入一個(gè)浮點(diǎn)數(shù):\n");</p><p>  scanf("%lf",&d);</p><p>  my_itof(d,s1);</p><p>  printf(

127、"轉(zhuǎn)換成的字符串為%s\n",s1);</p><p>  fprintf(fpout,"轉(zhuǎn)換成的字符串為%s\n",s1);</p><p><b>  }</b></p><p><b>  if(n==9)</b></p><p><b>  

128、{</b></p><p>  puts("...............歡迎進(jìn)入字符串轉(zhuǎn)換成整數(shù)系統(tǒng)............ ");</p><p>  printf("請(qǐng)輸入字符串:\n");</p><p>  scanf("%s",s1);</p><p>  p

129、rintf("轉(zhuǎn)換后的10進(jìn)制為%d 8進(jìn)制%x16進(jìn)制%o\n",my_strtoi(s1)); </p><p>  fprintf(fpout,"轉(zhuǎn)換后的10進(jìn)制為%d 8進(jìn)制%x 16進(jìn)制%o\n",my_strtoi(s1));</p><p><b>  }</b></p><p>&

130、lt;b>  if(n==10)</b></p><p>  { puts("...............歡迎進(jìn)入字符串統(tǒng)計(jì)系統(tǒng)............ ");</p><p>  puts("輸入字符串:");</p><p>  scanf("%s",s1);</p>

131、<p>  puts("輸入子串:");</p><p>  scanf("%s",s2);</p><p>  count=mystrstrcount(s1,s2);</p><p>  printf("出現(xiàn)次數(shù)為%d\n",count);</p><p>  fprin

132、tf(fpout,"出現(xiàn)次數(shù)為%d\n",count);</p><p><b>  }</b></p><p><b>  if(n==11)</b></p><p><b>  { </b></p><p>  puts("..........

133、.....歡迎進(jìn)入字符串出現(xiàn)系統(tǒng)............ ");</p><p>  puts("輸入字符串:");</p><p>  scanf("%s",s1);</p><p>  puts("輸入子串:");</p><p>  scanf("%s&qu

134、ot;,s2);</p><p>  a=mystrstr(s1,s2);</p><p>  printf("子串在第%d個(gè)字符開始出現(xiàn)\n",a);</p><p>  fprintf(fpout,"子串在第%d個(gè)字符開始出現(xiàn)\n",a);</p><p><b>  }</b>

135、;</p><p><b>  if(n==12)</b></p><p>  { puts("...............歡迎進(jìn)入字符是否存在系統(tǒng)............ ");</p><p>  puts("輸入被找字符串:");</p><p>  scanf(&qu

136、ot;%s",s1);</p><p>  puts("輸入要找字符的字符串:");</p><p>  scanf("%s",s2);</p><p>  if(mystrptr(s1,s2)!=NULL)</p><p>  {printf("存在!");</p

137、><p>  fprintf(fpout,"存在!");}</p><p>  else {printf("不存在!");</p><p>  fprintf(fpout,"不存在!");}</p><p><b>  }</b></p><p&

138、gt;  Fclose(fpout);</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  int mystrcmp(char *s1,char *s2) //字符串的比較</p><p><b>  {</b>

139、;</p><p>  while(*s1!='\0'&& *s2!='\0')</p><p><b>  {</b></p><p>  if(*s1>*s2)</p><p><b>  return 1;</b></p>&

140、lt;p>  if(*s1<*s2)</p><p>  return -1;</p><p>  if(*s1==*s2)</p><p><b>  {</b></p><p><b>  s1++;</b></p><p><b>  s2++;&

141、lt;/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(*s1=='\0'&& *s2=='\0')</p><p><b>  return 0;</b>&l

142、t;/p><p>  if(*s1=='\0'&& *s2!='\0')</p><p>  return -1;</p><p>  if(*s1!='\0'&& *s2=='\0')</p><p><b>  return 1;<

143、/b></p><p><b>  }</b></p><p>  int mystrncmp(char *s1,char *s2,int g) //字符串前幾個(gè)字符的比較</p><p><b>  {</b></p><p><b>  int i=1;</b>&

144、lt;/p><p>  while(*s1!='\0'&& *s2!='\0'&& i++<=g)</p><p><b>  {</b></p><p>  if(*s1>*s2)</p><p><b>  return 1;</

145、b></p><p>  if(*s1<*s2)</p><p>  return -1;</p><p>  if(*s1==*s2)</p><p><b>  {</b></p><p><b>  s1++;</b></p><p>

146、;<b>  s2++;</b></p><p><b>  }</b></p><p>  if(*s1==*s2)</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>

147、<b>  }</b></p><p>  void mystrcpy(char *s1,char *s2) //字符串的復(fù)制</p><p><b>  {</b></p><p>  while(*s2!='\0')</p><p><b>  {</b>&

148、lt;/p><p><b>  *s1=*s2;</b></p><p><b>  s1++;</b></p><p><b>  s2++;</b></p><p><b>  }</b></p><p><b>  *s

149、1='\0';</b></p><p><b>  }</b></p><p>  void mystrncpy(char *s1,char *s2,int g) //字符串前幾個(gè)字符的復(fù)制</p><p><b>  {</b></p><p><b>  i

150、nt i=1;</b></p><p>  while(*s2!='\0'&& i++<=g)</p><p><b>  {</b></p><p><b>  *s1=*s2;</b></p><p><b>  s1++;</b

151、></p><p><b>  s2++;</b></p><p><b>  }</b></p><p><b>  *s1='\0';</b></p><p><b>  }</b></p><p>  v

152、oid mystrcat(char *s1,char *s2)//字符串的拼接</p><p><b>  { </b></p><p>  while (*s1!='\0')</p><p><b>  {s1++;}</b></p><p>  while(*s2!='

153、\0')</p><p><b>  {</b></p><p><b>  *s1=*s2;</b></p><p>  s1++;s2++;</p><p><b>  }</b></p><p><b>  *s1='\0

154、';</b></p><p><b>  }</b></p><p>  void mystrncat(char *s1,char *s2,int g)//字符串前幾個(gè)的拼接</p><p><b>  {</b></p><p><b>  int i=1;</

155、b></p><p>  while(*s1!='\0')</p><p><b>  {s1++;}</b></p><p>  while(*s2!='\0'&& i++<=g)</p><p>  {*s1=*s2;s1++;s2++;}</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論