freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第四章串答案(文件)

2025-07-13 03:50 上一頁面

下一頁面
 

【正文】 /‘’是表達式結(jié)束符{switch(ch)of {case‘A’: case ‘B’: case ‘C’: //ch是變量TY=0; //變量類碼為0 for(i=1;i=;i++)if([i]==ch)break;//已有該變量,i記住其位置 if(i){[i]=ch;++;}//變量加入 case‘0’: case‘1’: case‘2’: case‘3’: case‘4’: case‘5’://處理常量case‘6’: case ‘7’:case‘8’: case‘9’: TY=1;//常量類碼為1   for(i=1;i=;i++)if([i]==ch)break;////已有該常量,i記住其位置  if(i){[i]=ch;++;}//將新常量加入 default: //處理運算符  TY=operator(ch);//類碼序號  i=’\0’; //填入TOKEN的addr域(期望輸出空白)}//結(jié)束switch,下面將ch填入TOKEN表[++].typ=TY;[].addr=i;scanf(“%c”,amp。本題是表達式處理的簡化情況(只有3個單字母變量,常量只有0..9,操作符只4個),若是真實情況,所用數(shù)據(jù)結(jié)構(gòu)要相應(yīng)變化。}//while}//算法結(jié)束[程序討論]為便于討論,各一維數(shù)組下標均以1開始,在字符為變量或常量的情況下,將其類碼用TY記下,用i記下其NAMEL表或CONSL表中的位置,以便在填TOKEN表時用。 {===0; //各表元素個數(shù)初始化為0 [3]=‘*’;[4]=‘+’;[5]=‘(’; [6]=‘)’; //將操作符存入數(shù)組[3]=‘3’;[4]=‘4’;[5]=‘5’; [6]=‘6’; //將符號的類碼存入數(shù)組 scanf(“%c”,amp。如此下去,直到表達式處理完畢。 //i先從’\0’后退,是第偶數(shù)字符的個數(shù) while(i0) s[j++]=stk[i] //將第偶數(shù)個字符逆序填入原字符數(shù)組}14.[題目分析]本題是對字符串表達式的處理問題,首先定義4種數(shù)據(jù)結(jié)構(gòu):符號的類碼,符號的TOKEN 表示,變量名表NAMEL和常量表CONSL。 else s[j++]=s[i]。 //讀入字符串 s[i]=’\0’。void RearrangeString() //對字符串改造,將第偶數(shù)個字符放在串的后半部分,第奇數(shù)個字符前半部分。)s2=substr(s,j+3,length(s) j 2)。在串s中的起始位置,s串中39。39。)。39。設(shè)這兩部分分別叫串s1和串s2,要設(shè)法從s,s39??梢钥醋饔梢韵聝刹糠纸M成:39。 //字符串結(jié)尾標記}//結(jié)束算法InvertStore。是字符串輸入結(jié)束標志 {InvertStore(A)。if (ch!= 39。{ char ch。num[i]++;} // 數(shù)字字符   else if(‘A’=ch=‘Z’){i=ch65+10。遇其它符號不作處理,直至輸入字符串結(jié)束。i++) //在類C中,一維數(shù)組下標從零開始if ([i]!= [i])return (0)。因此,首先比較串長,在串長相等的前提下,再比較對應(yīng)字符是否相等。 p++。 while (*p!= 39。\039。) {printf(s1串沒有%d個兩端對齊的字符串\n,n)。\039。 39。} if(*(q)==39。}//字符串s1向字符串s2中復(fù)制 if(*p ==39。 in){*q=*p。 } while( *p!=39。//濾掉s1左端空格 if(*p== 39。amp。 int i=0。請注意對返回正整數(shù)的處理。039。 //返回負數(shù)else return ((X[0]39。)。 //i 為數(shù)組下標while (X[i]!= 39。039。 //檢索失敗}//算法結(jié)束最大檢索長度為log2n。 //取中間位置 if(strcmp(string[mid],name) ==0) return (mid)。char name[4])//在有n個字符串的數(shù)組string中,二分檢索字符串name。下面給出類C語言的解法typedef struct node{char data[4]。\039。 //指針q回退到串t的最后一個字符 for(j=1。j){*(p+x)=*p。 } //查找字符串t的長度x,循環(huán)結(jié)束時q指向39。 while(*q!= 39。/039。/039。ipos) {p++。 //p,q分別為字符串s和t的工作指針 if(pos1) {printf(“pos參數(shù)位置非法\n”)。 對插入位置pos要驗證其合法性,小于1或大于串s的長度均為非法,因題目假設(shè)給字符串s的空間足夠大,故對插入不必判溢出。 //求串s的長度 i=index(s,t)。n=length(s)。{i=index(s,t)。下面討論replace(s,t,v)的算法。//將子串第i+j1個字符以后的子串復(fù)制到s1 [l]=[k]for(k=0。k++) [i+k]=[k]//將t串接到s1的尾部l=+。ki。else =+()。 for(k=0。 else if (j) //s串中被替換子串的長度小于t串的長度。} //檢查參數(shù)及置換后的長度的合法性。當然,應(yīng)考慮置換后的溢出問題。[題目分析]教材中介紹的串置換有兩種形式:第一種形式是replace(s,i,j,t),含義是將s串中從第i個字符開始的j個字符用t串替換,第二種形式是replace(s,t,v),含義是將s串中所有非重疊的t串用v代替。return(max)。 } //當前重復(fù)子串長度大,則更新max i++。 //length記局部重復(fù)子串長度,i為字符數(shù)組下標 while(in1) if(s[i]==s[i+1]) {i++。[題目分析]設(shè)以字符數(shù)組s表示串,重復(fù)子串的含義是由一個或多個連續(xù)相等的字符組成的子串,其長度用max表示,初始長度為0,將每個局部重復(fù)子串的長度與max相比,若比max大,則需要更新max,并用index記住其開始位置。amp。然后進行拼數(shù),即將連續(xù)出現(xiàn)的數(shù)字字符拼成一個整數(shù),直到碰到非數(shù)字字符為止,一個整數(shù)拼完,存入數(shù)組,再準備下一整數(shù),如此下去,直至整個字符串掃描到結(jié)束。算法中未討論輸入錯誤(如s串長小于t串長)。}//程序結(jié)束[程序討論]因用C語言實現(xiàn),一維數(shù)組的下標從0開始,m1是主串最后一個字符的下標,n1是t串的最后一個字符的下標。n)。 //匹配失敗}//算法index結(jié)束main ()//主函數(shù){char s[],t[]。amp。 else {i=ij+1。amp。int index(char s[],t[],int m,n)//字符串s和t用一維數(shù)組存儲,其長度分別為m和n。五、算法設(shè)計[題目分析]判斷字符串t是否是字符串s的子串,稱為串的模式匹配,其基本思想是對串s和t各設(shè)一個指針i和j,i的值域是0..mn,j的值域是0..n1。23.僅從兩串含有相等的字符,不能判定兩串是否相等,兩串相等的充分必要條件是兩串長度相等且對應(yīng)位置上的字符相同(即兩串串值相等)。該算法的技術(shù)特點是
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1