75分求助
查看原帖
75分求助
566262
Lefan_Zzz楼主2021/10/13 19:45

各位大神,哪里错了?

#include<bits/stdc++.h>
using namespace std;
string s;
int a,b,c,d=1,ans,sna,m;
int main()
{
	cin>>s;
	for(int i=0;i<s.size();i++)
	{
		if(s[i]=='/')
		{
			a=1;
			d=0;
			sna=i;
		}
		if(s[i]=='%')
		{
			b=1;
			d=0;
		}
		if(s[i]=='.')
		{
			c=1;
			d=0;
			sna=i;
		}
	}
	if(d==1)
	{
		for(int i=s.size()-1;i>=0;i--)
		{
			ans=m+s[i]-48;
			m=ans*10;
		}
		cout<<ans;
	}
	if(a==1)
	{
		for(int i=sna-1;i>=0;i--)
		{
			ans=m+s[i]-'0';
			m=ans*10;
		}
		cout<<ans<<"/";
		ans=0;
		m=0;
		for(int i=s.size()-1;i>=sna+1;i--)
		{
			ans=m+s[i]-48;
			m=ans*10;
		}
		cout<<ans;
	}
	if(b==1)
	{
		for(int i=s.size()-2;i>=0;i--)
		{
			if(s[i]!='%')
			{
				ans=m+s[i]-48;
				m=ans*10;
			}
		}
		cout<<ans<<"%";
	}
	if(c==1)
	{
		for(int i=sna-1;i>=0;i--)
		{
			ans=m+s[i]-'0';
			m=ans*10;
		}
		cout<<ans<<".";
		ans=0;
		m=0;
		for(int i=s.size()-1;i>=sna+1;i--)
		{
			ans=m+s[i]-48;
			m=ans*10;
		}
		cout<<ans;
	}
	return 0;
}
2021/10/13 19:45
加载中...