蒟蒻求助,80分,代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int p1,p2,p3;
cin>>p1>>p2>>p3;
string a;
cin>>a;
for(int i=0;i<a.length();i++){
if(a[i+1]!='-'){
cout<<a[i];
}else if(a[i+1]=='-'&&a[i]>='a'&&a[i]<='z'&&a[i+2]>='a'&&a[i+2]<='z'&&a[i]<a[i+2]){
if(p1==1){
if(p3==1){
cout<<a[i];
for(int j=(int)(a[i])+1;j<(int)(a[i+2]);j++){
for(int k=0;k<p2;k++){
cout<<(char)(j);
}
}
cout<<a[i+2];
i+=2;
}else{
cout<<a[i];
for(int j=(int)(a[i+2])-1;j>(int)(a[i]);j--){
for(int k=0;k<p2;k++){
cout<<(char)(j);
}
}
cout<<a[i+2];
i+=2;
}
}else if(p1==2){
if(p3==1){
cout<<a[i];
for(int j=(int)(a[i])+1;j<(int)(a[i+2]);j++){
for(int k=0;k<p2;k++){
cout<<(char)(j-32);
}
}
cout<<a[i+2];
i+=2;
}else{
cout<<a[i];
for(int j=(int)(a[i+2])-1;j>(int)(a[i]);j--){
for(int k=0;k<p2;k++){
cout<<(char)(j-32);
}
}
cout<<a[i+2];
i+=2;
}
}else if(p1==3){
cout<<a[i];
for(int j=(int)(a[i])+1;j<(int)(a[i+2]);j++){
for(int k=0;k<p2;k++){
cout<<"*";
}
}
cout<<a[i+2];
i+=2;
}
}else if(a[i+1]=='-'&&a[i]>='0'&&a[i]<='9'&&a[i+2]>='0'&&a[i+2]<='9'&&a[i]<a[i+2]){
if(p1!=3&&p3==1){
cout<<a[i];
for(int j=(int)(a[i])+1;j<(int)(a[i+2]);j++){
for(int k=0;k<p2;k++){
cout<<(char)(j);
}
}
cout<<a[i+2];
i+=2;
}else if(p1!=3&&p3==2){
cout<<a[i];
for(int j=(int)(a[i+2])-1;j>(int)(a[i]);j--){
for(int k=0;k<p2;k++){
cout<<(char)(j);
}
}
cout<<a[i+2];
i+=2;
}else if(p1==3){
cout<<a[i];
for(int j=(int)(a[i])+1;j<(int)(a[i+2]);j++){
for(int k=0;k<p2;k++){
cout<<"*";
}
}
cout<<a[i+2];
i+=2;
}
}else{
cout<<a[i];
}
}
return 0;
}