一个长度为 N 的字符串 S,由大小写字母组成。进行 Q 次询问。由两个整数和一个字符组成的元组 (ti,xi,ci)。
-
若 ti=1,将 S 的第 xi 个字符改为 ci。
-
若 ti=2,将 S 的所有大写字母转为小写字母。
-
若 ti=3,将 S 的所有小写字母转为大写字母。
#include<iostream>
#include<string>
#define str string
using namespace std;
str s,c;
int un,t,x,n;
void f1(int x, str c){s.replace(x-1,1,c);}
void f2(){for(int i=0;i<s.size();i++)s[i]=tolower(s[i]);}
void f3(){for(int i=0;i<s.size();i++)s[i]=toupper(s[i]);}
int main(){
cin>>un>>s>>n;
while(n--){
cin>>t>>x>>c;
if(t==1) f1(x,c);
else if(t==2) f2();
else f3();
}
cout<<s<<endl;
return 0;
}
话说自己编译正常,但我初学 C++,还不是很了解 string 的规则,所以 RE 了,欢迎大佬来嘲讽或改正。
大佬们肯定会骂我的