return0;
}
输入:
54-6-116-5922-6110
输出:
____________________________________
4.#include
#include
usingnamespacestd;
#defineMAX100
voidsolve(charfirst[],intspos_f,intepos_f,charmid[],intspos_m,intepos_m)
{
inti,root_m;
if(spos_f>epos_f)
return;
for(i=spos_m;i<=epos_m;i++)
if(first[spos_f]==mid[i])
{
root_m=i;
break;
}
solve(first,spos_f+1,spos_f+(root_m-spos_m),mid,spos_m,root_m-1);
solve(first,spos_f+(root_m-spos_m)+1,epos_f,mid,root_m+1,epos_m);
cout<}
intmain()
{
charfirst[MAX],mid[MAX];
intlen;
cin>>len;
cin>>first>>mid;
solve(first,0,len-1,mid,0,len-1);
cout<return0;
}
输入:
7
ABDCEGF
BDAGECF
输出:
____________________________________
四.完善程序(前4空,每空2.5分,后6空,每空3分,共28分)
1.(字符串替换)给定一个字符串S(S仅包含大小写字母),下面的程序将S中的每个字母用规定的字母替换,并输出S经过替换后的结果。
程序的输入是两个字符串,第一个字符串是给定的字符串S,第二个字符串S’由26个字母组成,它是a-z的任一排列,大小写不定,S’规定了每个字母对应的替换字母:
S’中的第一个字母是字母A和a的替换字母,即S中的A用该字母的大写替换,S中的a用该字母的小写替换;S’中的第二个字母是字母B和b的替换字母,即S中的B用该字母的大写替换,S中的b用该字母的小写替换;……以此类推。
#include
#include
charchange[26],str[5000];
usingnamespacestd;
voidCheckChangeRule()
{
inti;
for(i=