问题 4399 --字符串替换(完善程序)

4399: 字符串替换(完善程序)★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 409  解决: 146
[提交][状态][命题人:]

题目描述

给定一个字符串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(______(1)__________)
			change[i]-= 'A'-'a';
	} 	
}
 
void ChangeString()
{
	int i;
	for(i = 0; i < strlen(str); i++)
	{
		if(______(2)_________)
			str[i] = change[str[i] - 'A'] -'a' + 'A';
		else
			______(3)________
	}
}
 
int main()
{
	int i;
	cin >> str;
	cin >> change;
	CheckChangeRule();
	_____(4)_______
	cout << str << endl;
	return 0;
}


输入

输出

只需输出每个空的选项答案,大写字母,每个答案一行,一共四行

(1)第1空的答案是:_______

   A.  change[i]>='A' && change[i]<='Z'     B. change[i]>='a' && change[i]<='z'

   C.  change[i]>='A'                                 D. change[i]>='a'

(2)第2空的答案是:_______

   A. str[i]>='a' && str[i]<='z'                   B. str[i]>='A'

   C. str[i]>='A' && str[i]<='Z'                   D. str[i]>='a' 

(3)第3空的答案是:_______

   A. str[i] = change[str[i] - 'A'];                B. str[i] = change[str[i] - 'a']-'A'+'a';

   C. str[i] = change[str[i] - 'a'];                 D. str[i] = change[str[i] - 'a']-'a'+'A';

(4)第4空的答案是:_______

   A. cout<<change<<endl;                      B. ChangeString();

   C. ChangeString(chage);                        D. cout<<ChangeString()<<endl;

提示

输出格式如下:

int main()

{

    printf("A\n");

    printf("B\n");

    printf("C\n");

    printf("D\n");

}

来源

[提交][状态]