只有80!!! dalao求改!!! 急!!!
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s;
int p1,p2,p3;
cin>>p1>>p2>>p3>>s;
for(int i=0;i<s.size();i++)
{
string tc="";char n;
if(s[i]=='-')
{
if(s[i+1]>s[i-1])
{
if(s[i+1]>='a'&&s[i+1]<='z'&&s[i-1]>='a'&&s[i-1]<='z')
{
if(p1==3)
for(int j=1;j<=p2*(s[i+1]-s[i-1]);j++)
cout<<'*';
else if(p1==2)
{
n=s[i-1]+1;
for(int j=s[i-1]+1;j<s[i+1];j++)
{
for(int k=0;k<p2;k++)
{
tc+=(n+'A'-'a');
}
n=n+1;
}
if(p3==2)
{
string a=tc;
for(int j=0;j<tc.size();j++)
{
tc[j]=a[a.size()-j-1];
}
}
cout<<tc;
}
else if(p1==1)
{
n=s[i-1]+1;
for(int j=s[i-1]+1;j<s[i+1];j++)
{
for(int k=0;k<p2;k++)
{
tc+=n;
}
n=n+1;
}
if(p3==2)
{
string a=tc;
for(int j=0;j<tc.size();j++)
{
tc[j]=a[a.size()-j-1];
}
}
cout<<tc;
}
}
else if(s[i+1]>='0'&&s[i+1]<='9'&&s[i-1]>='0'&&s[i-1]<='9')
{
if(p1==3)
for(int j=1;j<=p2*(s[i+1]-s[i-1])-1;j++)
cout<<'*';
else
{
n=s[i-1]+1;
for(int j=s[i-1]+1;j<s[i+1];j++)
{
for(int k=0;k<p2;k++)
{
tc+=n;
}
n=n+1;
}
if(p3==2)
{
string a=tc;
for(int j=0;j<tc.size();j++)
{
tc[j]=a[a.size()-j-1];
}
}
cout<<tc;
}
}
else cout<<s[i];
}
else
{
cout<<s[i];
}
}
else
{
cout<<s[i];
}
}
return 0;
}