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

正文內(nèi)容

第四章串答案(參考版)

2025-06-28 03:50本頁面
  

【正文】 本題是表達式處理的簡化情況(只有3個單字母變量,常量只有0..9,操作符只4個),若是真實情況,所用數(shù)據(jù)結(jié)構(gòu)要相應變化。}//while}//算法結(jié)束[程序討論]為便于討論,各一維數(shù)組下標均以1開始,在字符為變量或常量的情況下,將其類碼用TY記下,用i記下其NAMEL表或CONSL表中的位置,以便在填TOKEN表時用。 while(ch!=‘’) //‘’是表達式結(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。 {===0; //各表元素個數(shù)初始化為0 [3]=‘*’;[4]=‘+’;[5]=‘(’; [6]=‘)’; //將操作符存入數(shù)組[3]=‘3’;[4]=‘4’;[5]=‘5’; [6]=‘6’; //將符號的類碼存入數(shù)組 scanf(“%c”,amp。struct // 定義符號類別數(shù)據(jù)結(jié)構(gòu) {char data[7]。如此下去,直到表達式處理完畢。算法思想是從左到右掃描表達式,對讀出的字符,先查出其符號類碼:若是變量或常量,就到變量名表和常量表中去查是否已有,若無,則在相應表中增加之,并返回該字符在變量名表或常量表中的下標;若是操作符,則去查其符號類碼。 //i先從’\0’后退,是第偶數(shù)字符的個數(shù) while(i0) s[j++]=stk[i] //將第偶數(shù)個字符逆序填入原字符數(shù)組}14.[題目分析]本題是對字符串表達式的處理問題,首先定義4種數(shù)據(jù)結(jié)構(gòu):符號的類碼,符號的TOKEN 表示,變量名表NAMEL和常量表CONSL。 }//while i。 else s[j++]=s[i]。j=1。 //讀入字符串 s[i]=’\0’。 //s和stk是字符數(shù)組(表示字符串)和字符棧 int i=1,j。void RearrangeString() //對字符串改造,將第偶數(shù)個字符放在串的后半部分,第奇數(shù)個字符前半部分。13.[題目分析]對讀入的字符串的第奇數(shù)個字符,直接放在數(shù)組前面,對第偶數(shù)個字符,先入棧,到讀字符串結(jié)束,再將棧中字符出棧,送入數(shù)組中。)s2=substr(s,j+3,length(s) j 2)。后是39。在串s中的起始位置,s串中39。 //求串s39。39。求串s1在串s中的起始位置s1=substr(s,i,length(s) i + 1)。)。 。39。39。設(shè)這兩部分分別叫串s1和串s2,要設(shè)法從s,s39。和 39??梢钥醋饔梢韵聝刹糠纸M成:39。39。 //字符串結(jié)尾標記}//結(jié)束算法InvertStore。//字符串逆序存儲 }A[i] = 39。是字符串輸入結(jié)束標志 {InvertStore(A)。) //規(guī)定39。if (ch!= 39。//需要使用靜態(tài)變量scanf (%c,amp。{ char ch。11.[題目分析]實現(xiàn)字符串的逆置并不難,但本題“要求不另設(shè)串存儲空間”來實現(xiàn)字符串逆序存儲,即第一個輸入的字符最后存儲,最后輸入的字符先存儲,使用遞歸可容易做到。num[i]++;} // 數(shù)字字符   else if(‘A’=ch=‘Z’){i=ch65+10。{int i,num[36];char ch; for(i=0;i36;i++)num[i]=0;// 初始化 while((ch=getchar())!=‘’) //‘’表示輸入字符串結(jié)束。遇其它符號不作處理,直至輸入字符串結(jié)束。 //兩串相等}//算法結(jié)束10.[問題分析]由于字母共26個,加上數(shù)字符號10個共36個,所以設(shè)一長36的整型數(shù)組,前10個分量存放數(shù)字字符出現(xiàn)的次數(shù),余下存放字母出現(xiàn)的次數(shù)。i++) //在類C中,一維數(shù)組下標從零開始if ([i]!= [i])return (0)。for (i=0。因此,首先比較串長,在串長相等的前提下,再比較對應字符是否相等。\039。 p++。) {*q=*p。 while (*p!= 39。p++。\039。 } *q=*p。) {printf(s1串沒有%d個兩端對齊的字符串\n,n)。//往后查找一個非空格字符作串s2的尾字符 if(*p==39。\039。amp。 39。 ) //若最后一個字符為空格,則需向后找到第一個非空格字符 {p 。} if(*(q)==39。){ printf(字符串s1沒有%d個有效字符\n,n)。}//字符串s1向字符串s2中復制 if(*p ==39。 p++。 in){*q=*p。 amp。 } while( *p!=39。) {printf(字符串s1為空串或空格串\n)。//濾掉s1左端空格 if(*p== 39。 39。amp。\039。 int i=0。算法從左到右掃描字符串s1,找到第一個非空格字符,計數(shù)到n,第n個拷入字符串s2的字符不得為空格,然后將余下字符復制到字符串s3中。請注意對返回正整數(shù)的處理。039。039。)*10+num)。 //返回負數(shù)else return ((X[0]39。39。)。) num=10*num+(X[i++]39。 //i 為數(shù)組下標while (X[i]!= 39。long atoi(char X[]) //一數(shù)字字符串存于字符數(shù)組X中,本算法將其轉(zhuǎn)換成數(shù){long num=0。039。39。 //檢索失敗}//算法結(jié)束最大檢索長度為log2n。 //到右半部分檢索else high=mid1。 //取中間位置 if(strcmp(string[mid],name) ==0) return (mid)。{int low = 0,high = n 1。char name[4])//在有n個字符串的數(shù)組string中,二分檢索字符串name。非遞歸過程如下:int binsearch(node string []。下面給出類C語言的解法typedef struct node{char data[4]。6.[題目分析]本題屬于查找,待查找元素是字符串(長4),將查找元素存放在一維數(shù)組中。\039。j++) *p=*q。 //指針q回退到串t的最后一個字符 for(j=1。}//串s的pos后的子串右移,空出串t的位置。j){*(p+x)=*p。 for(j=i。 } //查找字符
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1