求助求调(10分(C++))有点长哈
查看原帖
求助求调(10分(C++))有点长哈
919172
daoling楼主2023/9/2 22:14
#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string s;
signed main()
{
	cin>>p1>>p2>>p3>>s;
	for(int i=0;i<=s.size();i++)
	{
		if(s[i]!='-')
		{
			cout<<s[i];
		}
		else if(s[i]=='-'&&((((s[i-1]>='A'&&s[i-1]<='Z')||s[i-1]>='a'&&s[i-1]<='z')&&(s[i+1]>='0'&&s[i+1]<='9'))||(((s[i+1]>='A'&&s[i+1]<='Z')||s[i+1]>='a'&&s[i+1]<='z')&&(s[i-1]>='0'&&s[i-1]<='9'))))
			cout<<'-';
		else if(s[i]=='-')
		{
			if(p3==1)
			{
				for(char j=s[i-1]+1;j<=s[i+1]-1;j++)
				{
					if(p1==1)
					{
						if(j<='A'&&j>='Z')
						{
							j+=32;
							while(p2)
							{
								cout<<j;
								p2-=1;
							}
						}
						else
						{
							while(p2)
							{
								cout<<j;
								p2-=1;
							}
						}
					}
					else if(p2==2)
					{
						if(j<='a'&&j>='z')
						{
							j-=32;
							while(p2)
							{
								cout<<j;
								p2-=1;
							}
						}
						else
						{
							while(p2)
							{
								cout<<j;
								p2-=1;
							}
						}
					}
					else
					{
						while(p2)
						{
							cout<<'*';
							p2-=1;
						}
					}
				}
			}
			else if(p3==2)
			{
				for(char j=s[i+1]+1;j>=s[i-1]-1;j--)
				{
					if(p1==1)
					{
						if(j<='A'&&j>='Z')
						{
							j+=32;
							while(p2)
							{
								cout<<j;
								p2-=1;
							}
						}
					}
					else if(p2==2)
					{
						if(j<='a'&&j>='z')
						{
							j-=32;
							while(p2)
							{
								cout<<j;
								p2-=1;
							}
						}
					}
					else
					{
						while(p2)
						{
							cout<<'*';
							p2-=1;
						}
					}
				}
			}
		}
	} 
	return 0;
}

希望各位大佬帮助

2023/9/2 22:14
加载中...