#CS50201. 完善程序2-字符处理-1字符串替换
完善程序2-字符处理-1字符串替换
(字符串替换)给定一个字符串 𝑆(𝑆仅包含大小写字母),下面的程序将 𝑆中的每个字母用规定的字母替换,并输出 𝑆经过替换后的结果。程序的输入是两个字符串,第一个字符串是给定的字符串 𝑆,第二个字符串 𝑆′由 26个字母组成,它是 𝑎∼𝑧 的任一排列,大小写不定,𝑆′ 规定了每个字母对应的替换字母:𝑆′中的第一个字母是字母 A 和 a的替换字母,即 𝑆 中的 A用该字母的大写替换,𝑆 中的 a 用该字母的小写替换;𝑆′ 中的第二个字母是字母 B 和 b 的替换字母,即 𝑆 中的 B用该字母的大写替换,𝑆中的 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);
- Changerstring();
- ChangeString();
- changeString();