80求解!
查看原帖
80求解!
1052192
DIO_bread楼主2024/12/25 21:09

只有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;
}
2024/12/25 21:09
加载中...