本蒟蒻50分的代码,请多多指教!
#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
char a[1001];
int main(){
cin>>p1>>p2>>p3;
cin>>a;
for(int i=0;i<100;i++){
if(a[i+1]!='-'&&a[i]!='-') cout<<a[i];
else if(a[i]==a[i+2]&&a[i+1]=='-'){
cout<<a[i]<<"-"<<a[i];
i+=2;
}
else if(a[i]+1==a[i+2]&&a[i+1]=='-'){
cout<<a[i]<<a[i+2];
i+=2;
}
else if(a[i]>='a'&&a[i]<='z'&&a[i+2]>='a'&&a[i+2]<='z'&&a[i]<a[i+2]&&p3==1){
//cout<<a[i];
for(char j=a[i];j<=a[i+2];j++){
if(j==a[i]||j==a[i+2]) cout<<j;
else{
if(p1==1)
for(int k=1;k<=p2;k++){
cout<<j;
}
else{
for(int k=1;k<=p2;k++) cout<<char(toupper(j));
}
}
}
//cout<<a[i+2];
i+=2;
}
else if(a[i]>='0'&&a[i]<='9'&&a[i+2]>='0'&&a[i+2]<='9'&&a[i]<a[i+2]&&p3==1){
cout<<a[i];
for(char j=a[i]+1;j<=a[i+2]-1;j++){
for(int k=1;k<=p2;k++){
cout<<j;
}
}
cout<<a[i+2];
i+=1;
}
else if(a[i]>='a'&&a[i]<='z'&&a[i+2]>='a'&&a[i+2]<='z'&&a[i]<a[i+2]&&p3==2){
//cout<<a[i];
for(char j=a[i+2];j>a[i];j--){
if(j==a[i+2]) cout<<a[i];
else{
if(p1==1)
for(int k=1;k<=p2;k++){
cout<<j;
}
else{
for(int k=1;k<=p2;k++) cout<<char(toupper(j));
}
}
}
cout<<a[i+2];
i+=2;
}
else if(a[i]>='0'&&a[i]<='9'&&a[i+2]>='0'&&a[i+2]<='9'&&a[i]<a[i+2]&&p3==2){
cout<<a[i];
for(char j=a[i+2]-1;j>=a[i]+1;j--){
for(int k=1;k<=p2;k++){
cout<<j;
}
}
cout<<a[i+2];
i+=1;
}
else if(a[i]!='-'||(a[i]=='-'&&a[i-1]==a[i+1])||(a[i-1]>='0'&&a[i-1]<='9'&&a[i+1]>='a'&&a[i+1]<='z'&&a[i]=='-')||(a[i-1]>='a'&&a[i-1]<='z'&&a[i+1]>='0'&&a[i+1]<='9'&&a[i]=='-')) cout<<a[i];
}
return 0;
}