题目描述
亲朋字符串定义如下:给定字符串 s 的第一个字符的 ASCII 值加第二个字符的 ASCII 值,得到第一个亲朋字符;s 的第二个字符加第三个字符得到第二个亲朋字符;依此类推。注意:亲朋字符串的最后一个字符由 s 的最后一个字符 ASCII 值加 s 的第一个字符的 ASCII 值。
输入格式
输入一行,一个长度大于等于 22,小于等于 100100 的字符串。
输出格式
输出一行,为变换后的亲朋字符串。输入保证变换后的字符串只有一行。
输入输出样例
输入 1234 输出 cege
题目解决
首先先解决输入问题
string a;
cin>>a;
简简单单毫无难度
接下来敲黑板,划重点!
如何将数字转化为ASCII码的值呢?
知粥所中,0的ASCII码值为48
而这又是怎么来的呢?
于是我们请来了char
cout<<(char)('0'+'1');
这样就搞定了,灰常煎蛋
所以这道题目的AC代码是这样的,我知道你们都爱看这个
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main() {
string a;
cin>>a;
for(int i=0;i < a.length();i++){
if(i == a.length()-1){
cout<<(char)(a[i]+a[0]);
return 0;
}
else cout<<(char)(a[i]+a[i+1]);
}
}