字符串的相關操作(數據結構課程設計C語言版)(共17頁)_第1頁
字符串的相關操作(數據結構課程設計C語言版)(共17頁)_第2頁
字符串的相關操作(數據結構課程設計C語言版)(共17頁)_第3頁
字符串的相關操作(數據結構課程設計C語言版)(共17頁)_第4頁
字符串的相關操作(數據結構課程設計C語言版)(共17頁)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上 課程設計報告課程設計題目: 字符串的相關操作 學生姓名 專 業 班 級 指導教師 2012年 6月 24日1、 題目及要求 課程設計目的: 課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力。 題目:字符串的相關操作 1)建立兩個字符串string1和string22)編程實現字符串的連接、比較、查詢string2在string1的位置、求子串、求串長二、模塊圖 菜單:choose1 2 3 4 5 6 7 0創建字符串顯示求串長比較串串連接串定位求子串退出

2、 1比較s1和s2求s1的字串7創建s1和s2 4 5 顯示s1和s2連接后的串求s1和s2連接后的串長326定位s2在新生成的串里的位置 0退出三、程序清單#include<stdio.h>#include<string.h>#include<stdlib.h>#define maxlen 40typedef struct char chmaxlen+1; int len;sstring;void strini(sstring *s) s->len=0;char *strcreate(sstring *s,int len) if(len<=0|

3、len>maxlen) printf("the len is illegal!n"); else printf("please input the data of the sstirng:n"); s->len=len; scanf("%s",s->ch); return s->ch;void strdisplay(sstring *s) if(s->len<=0) printf("the sstring is empty!n"); else printf("outpu

4、t the data of the sstring:n"); s->chs->len='0' printf("%s",s->ch); printf("n");int strcompare(sstring s, sstring t)int i;for (i=0;i<s.len&&i<t.len;i+)if (s.chi!=t.chi)return(s.chi - t.chi);return(s.len - t.len);int strlength(sstring s)return(s.

5、len);int strlink(sstring *s,sstring t1,sstring t2)int i,j, flag;for(j=0;j<t1.len;j+)s->chj=t1.chj;s->len=t1.len;if (t1.len + t2.len<=maxlen)for (i=t1.len; i<t1.len + t2.len; i+)s->chi=t2.chi-s->len;s->len+=t2.len; s->chs->len='0'flag=1;elseif (t1.len<maxlen)f

6、or (i=t1.len;i<maxlen;i+)s->chi=t2.chi-s->len;s->len=maxlen; s->chs->len='0'flag=0;elseflag=0;return(flag);int strindex(sstring s,int pos, sstring t)int i, j, start;if (t.len=0)return(0);start=pos;i=start;j=0;while (i<s.len && j<t.len)if (s.chi=t.chj)i+;j+;els

7、estart+;i=start;j=0;if (j>=t.len)return(start);elsereturn(-1);int substring(sstring *sub, sstring s, int pos, int len)int i;if (pos<0 | pos>s.len | len<1 | len>s.len-pos)sub->len=0;return(0);elsefor (i=0; i<len; i+)sub->chi=s.chi+pos;sub->len=len; sub->chsub->len=

8、9;0'return(1);void menu() int flag=1,m=0,n,i,len,pos; sstring s4; while(flag) printf("/*-*/n"); printf("1,createn"); printf("2,displayn"); printf("3,lengthn"); printf("4,comparen"); printf("5,linkn"); printf("6,indexn"); print

9、f("7,substringn"); printf("0,exitn"); printf("/*-*/n"); printf("please choose:n"); scanf("%d",&n); switch(n) case 1: printf("create s%dn",m+1); printf("please input the length of the s%d:n",m+1); scanf("%d",&len)

10、 ; strini(&sm); strcpy(sm.ch,strcreate(&sm,len); m+; break; case 2: printf("which string to display:n"); scanf("%d",&i); printf("display s%dn",i); strdisplay(&si-1); break; case 3: printf("which string to show length:n"); scanf("%d",&

11、amp;i); printf("the string%d 's length is:%3dn",i,strlength(si-1); break; case 4: printf("compare s1 to s2n"); if(strcompare(s0,s1)>0) printf("s1>s2n"); else if(strcompare(s0,s1)=0) printf("s1=s2n"); else printf("s1<s2n"); break; case 5:

12、 printf("link s1 to s2n"); strlink(&s2,s0,s1); break; case 6: printf("please input pos:n"); scanf("%d",&pos); printf("the position is in:%3dn",strindex(s2,pos,s1); break; case 7: printf("please input pos:n"); scanf("%d",&pos); p

13、rintf("please input len:n"); scanf("%d",&len); strini(&s3); substring(&s3,s0,pos,len); strdisplay(&s3); break; case 0: exit(0); default:printf("the choice is illegal! try again!n"); main() menu();4、 運行結果 該菜單用的是下標標注法,即0-5表示1-6這6個位置,截圖前有操作的解釋(1)初始菜單:(2)創建:創建字符串s1和s2(3)顯示:這里顯示s1和s2連接后的串,所以

溫馨提示

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

評論

0/150

提交評論