(字符串替换) 给定一个字符串 S(S 仅包含大小写字
(字符串替换) 给定一个字符串 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;
}答案
第1空:change[i] >= ‘A’ && change[i] <= ‘Z’ / change[i] <= ‘Z’
第2空:str[i] >= ‘A’ && str[i] <= ‘Z’ / str[i] <= ‘Z’
第3空:str[i] = change[str[i] – ‘a’];
第4空:ChangeString();