90分求助
查看原帖
90分求助
731651
wenjingqi楼主2023/6/29 10:43

90分求助#10和#20

#include<bits/stdc++.h>
using namespace std;
string s,a,b; 
int p;
string fz(string x)
{
	string y="";
	int len=x.size()-1;
	while(x[len]=='0')
	{
		len--;
	}
	for(int i=len;i>=0;i--)
	{
		y+=x[i];
	}
	return y;
}
string fz2(string x)
{
	string y="";
	int len=0;
	int len2=x.size()-1;
	while(x[len]=='0')
	{
		len++;
	}
	for(int i=len2;i>=len;i--)
	{
		y+=x[i];
	}
	return y;
}
int main(){
	getline(cin,s);
	if(s.find(".")!=-1)
	{
		p=s.find(".");
		a=s.substr(0,p);
		b=s.substr(p+1);
		if(fz2(b)=="")
		{
			b="0";
		}
		else
		{
			b=fz2(b);
		}
		s=fz(a)+"."+b;
	}
	else if(s.find("/")!=-1)
	{
		p=s.find("/");
		a=s.substr(0,p);
		b=s.substr(p+1);
		b=fz(b);
		if(fz(a)=="")
		{
			a="0";
		}
		else
		{
			a=fz(a);
		}
		s=a+"/"+b;
	}
	else if(s.find("%")!=-1)
	{
		p=s.find("%");
		a=s.substr(0,p);
		s=fz(a)+"%";
	}
	else
	{
		if(fz(s)=="")
		{
			s="0";
		}
		else
		{
			s=fz(s);
		}
	}
	cout<<s;
	return 0;
}

感觉没啥问题 求大佬解答

2023/6/29 10:43
加载中...