题目描述
给定一个字符串a,请你按照下面的要求输出字符串b。
给定字符串a的第一个字符的ASCII值加第二个字符的ASCII值,得到b的第一个字符;
给定字符串a的第二个字符的ASCII值加第三个字符的ASCII值,得到b的第二个字符;
…
给定字符串a的倒数第二个字符的ASCII值加最后一个字符的ASCII值,得到b的倒数第二个字符;
给定字符串a的最后一个字符的ASCII值加第一个字符的ASCII值,得到b的最后一个字符。
输入格式
输入共一行,包含字符串a。注意字符串中可能包含空格。
数据保证字符串内的字符的ASCII值均不超过63。
输出格式
输出共一行,包含字符串b。
数据范围
2≤a的长度≤100
样例
输入样例:
1 2 3
输出样例:
QRRSd
算法1
C++ 代码
#include<iostream>
using namespace std;
int main()
{
string a;
getline(cin,a);
string b;
for(int i = 0; i + 1 < a.size(); i ++) b += (char)(a[i] + a[i + 1]);
b += (char)(a[0] + a.back());
cout << b;
}
这里好像不加(char)也能蒙混过关,hh
偷到一种更简洁的写法,大佬觉得怎么样
hhhhhhhh
这是为什么呀?
可能是数据太水了吧