大佬帮帮忙,65分,样例全过,哪里出问题了?
查看原帖
大佬帮帮忙,65分,样例全过,哪里出问题了?
839236
adafaw楼主2022/11/9 00:24
#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s;
	cin>>s;
	int n;
	if(s.find('.')!=string::npos)
	{
		n=s.find('.');
		reverse(s.begin(),s.begin()+n);
		reverse(s.begin()+n+1,s.end());
		int o=0;
		for(int i=0;i<n;i++)
		{
			if(s[i]!='0') break;
			o++;
		}
		for(int i=0;i<1000;i++)
		{
			if(s.find_last_of('0')!=s.size()-1||s.size()==n+2)break;
			s.erase(s.end()-1);
		}
		for(int i=o;i<s.size();i++) cout<<s[i];
	}
	else if(s.find('/')!=string::npos)
	{
		n=s.find('/');
		reverse(s.begin(),s.begin()+n);
		reverse(s.begin()+n+1,s.end());
		int o=0,p=n+1;
		for(int i=0;i<n;i++)
		{
			if(s[i]!='0') break;
			o++;
		}
		for(int i=n+1;i<s.size();i++)
		{
			if(s[i]!='0') break;
			p++;
		}
		for(int i=o;i<=n;i++) cout<<s[i];
		for(int i=p;i<s.size();i++) cout<<s[i];
	}
	else if(s.find('%')!=string::npos)
	{
		reverse(s.begin(),s.end()-1);
		int o=0;
		for(int i=0;i<n;i++)
		{
			if(s[i]!='0') break;
			o++;
		}
		for(int i=o;i<s.size();i++)
		{
			cout<<s[i];
		}
	}
	else if(s.size()==1)
	{
		cout<<s[0];
	}
	else
	{
		reverse(s.begin(),s.end());
		int o=0;
		for(int i=0;i<n;i++)
		{
			if(s[i]!='0') break;
			o++;
		}
		for(int i=o;i<s.size();i++)
		{
			cout<<s[i];
		}
		if(o==s.size())cout<<"0";
	}
	return 0;
}
2022/11/9 00:24
加载中...