#10760. 字符处理第一题(NOIP2008)字符串替换
字符处理第一题(NOIP2008)字符串替换
(NOIP2008)字符串替换
给定一个字符串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<iostream>
#include<string.h>
char change[26],str[5000];
using namespace std;
void CheckChangeRule() {
int i;
for (i=0;i<26;i++)
{
if ( ① )
change[i]-='A'-'a';
}
}
void ChangeString() {
int i;
for (i=0;i<strlen(str);i++)
{
if ( ② )
str[i]=change[str[i]-'A']-'a'+'A';
else
③ ;
}
}
int main()
{
int i;
cin>>str;
cin>>change;
CheckChangeRule();
④ ;
cout<<str<<endl;
return 0;
}
①处应填( )。
{{ select(1) }}
- change[i]>='a'&change[i]<='z'
- change[i]<'A'|change[i]>'Z'
- change[i]>='A'&change[i]<='Z'
- change[i]<'a'&change[i]>'z'
②处应填( )。
{{ select(2) }}
- str[i]>='a'&str[i]<='z'
- str[i]<'A'&str[i]>'Z'
- str[i]<'a'&str[i]>'z'
- str[i]>='A'&str[i]<='Z'
③处应填( )。
{{ select(3) }}
- change[str[i]-'a']=str[i];
- str[i]=change[str[i]-'a'];
- str[i]=change[str[i]-'A'];
- change[str[i]-'z']=str[i];
④处应填( )。
{{ select(4) }}
- int len=strlen(str);
- Changestring();
- ChangeString();
- changeString();