0
已解决
崔皓轩
新手光能
新手光能
题目链接: 酷町堂:2868
2868 字符格式转换2
经验值:1200
时间限制:1000毫秒
内存限制:128MB
题目描述 De**ion
给出一个字符串,全部由数字,字母,’#‘和’^ ‘组成。请将字符串中’#‘后面的一个小写字母变为大写字母,并且删除这个’#’;将’^ ‘后面的一个大写字母变为小写字母,并且删除这个’^ ‘。如果’#‘和’^ ‘后面的字符不满足这些条件,则只删除’#‘或’^’。输出最后字符串的结果。
输入描述 Input De**ion
一个字符串,由数字,字母,’#‘和’^'组成。
输出描述 Output De**ion
按要求转化后的字符串
样例输入 Sample Input
#a#b^A^B#123^123
样例输出 Sample Output
ABab123123
下面是我的代码哪错了
#include<bits/stdc++.h>
using namespace std;
string s;
int main(){
getline(cin,s);
for(int i=0;i<s.size()-1;i++){
if(s[i]=='#'&&s[i+1]>='a'&&s[i+1]<='z'){
s[i+1]-=32;
}
if(s[i]=='^'&&s[i+1]>='A'&&s[i+1]<='Z'){
s[i+1]+=32;
}
if(s[i]=='^'||s[i]=='#'){
s.erase(i,1);
}
}
cout<<s;
return 0;
}