90分求助,错了#13和#15.
查看原帖
90分求助,错了#13和#15.
875806
liupan2010楼主2023/2/18 16:21

rt.

#include<bits/stdc++.h>
using namespace std;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);	
	cout.tie(0);
	string x,sub1,sub2;
	int i,ok=0,siz;
	cin>>x;
	if(x[x.size()-1]=='%')
	{
		ok=1;
		x.erase(x.size()-1,1);
	}
	for(i=0;i<x.size();i++)
	{
		if(x[i]=='.')
		{
			ok=2;
			siz=i;
			sub1=x.substr(0,siz);
			sub2=x.substr(siz+1,x.size()-1);
		}
		if(x[i]=='/')
		{
			ok=3;
			siz=i;
			sub1=x.substr(0,siz);
			sub2=x.substr(siz+1,x.size()-1);
		}
	}
	if(ok==0)
	{
		reverse(x.begin(),x.end());
		while(x[0]=='0'&&x!="0")
			x.erase(0,1);
		cout<<x;
	}
	else if(ok==1)
	{
		reverse(x.begin(),x.end());
		while(x[0]=='0'&&x!="0")
			x.erase(0,1);
		cout<<x<<"%";
	}
	else if(ok==2)
	{
		reverse(sub1.begin(),sub1.end());
		reverse(sub2.begin(),sub2.end());
		while(sub1[0]=='0'&&sub1!="0")
			sub1.erase(0,1);
		while(sub2[0]=='0'&&sub2!="0")
			sub2.erase(0,1);
		while(sub2[sub2.size()-1]=='0'&&sub2!="0")
			sub2.erase(sub2.size()-1,1);
		cout<<sub1<<"."<<sub2;
	}
	else
	{
		reverse(sub1.begin(),sub1.end());
		reverse(sub2.begin(),sub2.end());
		while(sub1[0]=='0'&&sub1!="0")
			sub1.erase(0,1);
		while(sub2[sub2.size()-1]=='0')
			sub2.erase(sub2.size()-1,1);
		cout<<sub1<<"/"<<sub2;
	}
	return 0;
}
2023/2/18 16:21
加载中...