70分求助
查看原帖
70分求助
215915
lOpzIth楼主2021/9/4 22:57

出大问题,最后三个点WA,但由于我的码风清奇,导致本人无法debug,求助万能的谷民

#include<bits/stdc++.h>
using namespace std;

int len,zmlen,zmlen1,zmlen2,sum;//zmlen1是三分之一的长度,zmlen2以此类推
bool point=true,pd=false;
char a[4][105];//a[0]是初始,a[1],a[2],a[3]是答案

int main()
{
	gets(a[0]);
	len=strlen(a[0]);
	for(int i=0;i<len;i++)
	{
		if((a[0][i]>='a'&&a[0][i]<='z')||(a[0][i]>='A'&&a[0][i]<='Z'))
		{
			a[1][i]='.';
			zmlen++;
		}
		else
		{
			a[1][i]=a[0][i];
		}
	}
	for(int i=0;i<len;i++)
	{
		cout<<a[1][i];
	}
	cout<<endl;
	
	
	if(zmlen%3==0||zmlen%3==1)
	{
		zmlen1=zmlen/3;
	}
	else
	{
		zmlen1=zmlen/3+1;
	}
	
	for(int i=0;i<len;i++)
	{
		a[2][i]=a[1][i];
		if(((a[0][i]>='a'&&a[0][i]<='z')||(a[0][i]>='A'&&a[0][i]<='Z'))&&point)
		{
			a[2][i]=a[0][i];
			if(sum==zmlen1)
			{
				point=false;
				a[2][i]=a[1][i];
			}
			sum++;
		}
	}
	for(int i=0;i<len;i++)
	{
		cout<<a[2][i];
	}
	cout<<endl;
	
	
	if(zmlen%3==0)
	{
		zmlen2=zmlen1*2;
	}
	if(zmlen%3==1)
	{
		zmlen2=zmlen1*2+1;
	}
		if(zmlen%3==2)
	{
		zmlen2=zmlen1*2-1;
	}
	
	
	for(int i=0;i<len;i++)
	{
		a[3][i]=a[2][i];
	}
	pd=false;
	for(int i=0;i<len;i++)
	{
		if((a[0][i]>='a'&&a[0][i]<='z')||(a[0][i]>='A'&&a[0][i]<='Z'))
		{
			if((a[0][i]=='a'||a[0][i]=='e'||a[0][i]=='i'||a[0][i]=='o'||a[0][i]=='u'||a[0][i]=='A'||a[0][i]=='E'||a[0][i]=='I'||a[0][i]=='O'||a[0][i]=='U')&&i>zmlen1)
			{
				pd=true;
				a[3][i]=a[0][i];
			}
		}
	}
	if(pd)
	{
		for(int i=0;i<len;i++)
		{
			cout<<a[3][i];
		}
		return 0;
	}
	else
	{

	}
	point=true;sum=0;
	for(int i=0;i<len;i++)
	{
		a[3][i]=a[2][i];
		if(((a[0][i]>='a'&&a[0][i]<='z')||(a[0][i]>='A'&&a[0][i]<='Z'))&&point)
		{
			a[3][i]=a[0][i];
			if(sum==zmlen2)
			{
				point=false;
				a[3][i]=a[2][i];
			}
			sum++;
		}
	}
	for(int i=0;i<len;i++)
	{
		cout<<a[3][i];
	}
	return 0;	
}
2021/9/4 22:57
加载中...