万卷网 > 题目详情
题型:编程题

生成字母串

英语老师要求学生按照如下规则写一串字母:

- 如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中下一个字母的大写;

- 如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中前一个字母的小写。

例如 `aAaABCDdcbBC` 就是一个合法的字母串;而 `dEFfeFGhI` 就是非法的。

本题就请你编写程序,自动生成一个合法的字母串。

时间限制:1000

内存限制:65536

输入

输入在第一行给出一个不超过 10000 的正整数 N 和第一个字母。 随后一行给出一个由 `0` 和 `1` 组成的长度为 N 的字符串。这个串给出了字母串的生成规则:从第一个字母开始,如果对应的规则串字符是 `0`,则下一个字母应该生成当前字母的大/小写;如果是 `1` 则下一个字母应该生成当前字母的前/后一个字母。 注意:因为字母表中 `a` 没有前一个字母,`Z` 没有后一个字母,所以如果此时遇到 `1` 就忽略之。

输出

在一行中输出按规则生成的字母串。


样例输入

12 a
001011101101

样例输出

aAaABCDdcbBC

更新时间:2024-11-22 11:30:52 |
【知识点】 电子学会C/C++二级

相似题推荐

单选题

执行以下C++代码,输入`65`后,输出结果是?( ) 

int grade; 
cin >> grade;
 if(grade >= 90) 
     cout << "优秀"; 
else if(grade >= 70) 
    cout << "良好"; 
else if(grade >= 60) 
    cout << "及格"; 
else 
    cout << "不及格";
A.

优秀

B.

良好

C.

及格

D.

不及格

2026-07-10
判断题

C++中,数组的长度可以在定义后随时修改。( )

A.正确 B.错误
2026-07-10
单选题

以下C++数组定义中,正确的是?( )

A.

整数 arr[4] = {1,2,3,4,5};

B.

整数 arr[] = {5,4,3,2,1};

C.

int n=-5;内通 arr[n];

D.

整数 arr[5] = ;

2026-07-10
编程题

查找特定值

2026-07-10
判断题

C++中,将double类型赋值给int类型变量时,会自动进行类型转换,不会丢失数据。( )

A.正确 B.错误
2026-07-10
公众号
客服 反馈
顶部