30,求调
查看原帖
30,求调
1400908
yangzijin楼主2024/11/22 23:09
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	int p1,p2,p3;
	cin>>p1>>p2>>p3;
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]=='-'&&s[i]-1!=s[i+1]&&s[i-1]!=s[i+1]+1){
			string s1="";
			char j;
			for(j=s[i-1]+1;j<s[i+1];j++){
				for(int k=1;k<=p2;k++){
					if(p1==1){
						if(isupper(s[i-1]))s1+=j-32;
						else s1+=j;
					}
					else if(p1==2){
						if(islower(s[i-1])){
							if(p3==1)s1+=j+32;
							else s1=char(j+32)+s1;
						}
						else{
							if(p3==1)s1+=j;
							else s1=j+s1;
						}
					}
					else if(p1==3){
						s1+='*';
						continue;
					}
				}
			}
			s.replace(s.find('-'),1,s1);
		}
	}
	cout<<s;
	return 0;
}
2024/11/22 23:09
加载中...