代码可能有点丑,毕竟我是写好一个模块然后直接复制的(划掉)
#include<bits/stdc++.h>
using namespace std;
int a,b,c;
string s;
int main()
{
cin>>a>>b>>c>>s;
for(int i=1;i<s.length();i++)
{
if(s[i]=='-')
{
if(s[i+1]-s[i-1]>0)
{
if(s[i+1]>='0'&&s[i+1]<='9')
{
string s2;
if(a!=3)
{
for(int j=s[i-1]+1;j<s[i+1];j++)
{
for(int k=1;k<=b;k++)
{
s2+=char(j);
}
}
}
else
{
for(int j=s[i-1]+1;j<s[i+1];j++)
{
for(int k=1;k<=b;k++)
{
s2+='*';
}
}
}
if(c==2) reverse(s2.begin(),s2.end());
s.erase(i,1);
s.insert(i,s2);
}
if(s[i-1]>='a'&&s[i-1]<='z'&&s[i+1]>='a'&&s[i+1]<='z')
{
string s2;
if(a==3)
{
for(int j=s[i-1]+1;j<s[i+1];j++)
{
for(int k=1;k<=b;k++)
{
s2+='*';
}
}
}
if(a==1)
{
for(int j=s[i-1]+1;j<s[i+1];j++)
{
for(int k=1;k<=b;k++)
{
s2+=char(j);
}
}
}
if(a==2)
{
for(int j=s[i-1]+1-32;j<s[i+1]-32;j++)
{
for(int k=1;k<=b;k++)
{
s2+=char(j);
}
}
}
if(c==2) reverse(s2.begin(),s2.end());
s.erase(i,1);
s.insert(i,s2);
}
}
}
}
cout<<s<<endl;
return 0;
}