求助
查看原帖
求助
808585
PokerKing楼主2022/10/22 22:30

哪位大神能看一下哪错了,70分,(我个人写注释不多)

#include <bits/stdc++.h>
using namespace std;
int main()
{
	string a;
	cin>>a;
	int flag=0;
	int y=0;
	for(int i=0;i<a.size();i++)//判断是整数,小数,除法,还是百分数
	{
		if(a[i]=='.')
		{
			flag=1;
			y=i;
		}
		if(a[i]=='/')
		{
			flag=2;
			y=i;
		}
		if(a[i]=='%')
		{
			flag=3;
		}
	}
	if(flag==0)
	{
		int flag1=0;
		for(int i=a.size()-1;i>=0;i--)
		{
			if(flag1==0 and a[i]=='0')
			{
				continue;
			}
			else
			{
				flag1=1;
				cout<<a[i];
			}
				
		}
		return 0;
	}
	if(flag==1)
	{
		int flag1=0;
		for(int i=y-1;i>=0;i--)
		{
			if(flag1==0 and a[i]=='0')
			{
				continue;
			}
			else
			{
				flag1=1;
				cout<<a[i];
			}
		}
		flag1=1;
		cout<<'.';
		for(int i=a.size()-1;i>y;i--)
		{
			if(flag1==0 and a[i]=='0')
			{
				continue;
			}
			else
			{
				flag1=0;
				cout<<a[i];
			}
		}
		return 0;
	}
	if(flag==2)
	{
		int flag1=0;
		for(int i=y-1;i>=0;i--)
		{
			if(flag1==0 and a[i]=='0')
			{
				continue;
			}
			else
			{
				flag1=1;
				cout<<a[i];
			}
		}
		flag1=0;
		cout<<'/';
		for(int i=a.size()-1;i>y;i--)
		{
			if(flag1==0 and a[i]=='0')
			{
				continue;
			}
			else
			{
				flag1=1;
				cout<<a[i];
			}
		}
		return 0;
	}
    if(flag==3)
    {
		int flag1=0;
		for(int i=a.size()-2;i>=0;i--)
		{
			if(flag1==0 and a[i]=='0')
			{
				continue;
			}
			else
			{
				flag1=1;
				cout<<a[i];
			}

		}
		cout<<'%';
		return 0;
	}
	return 0;
2022/10/22 22:30
加载中...