0有问题 求助
查看原帖
0有问题 求助
917842
tyy6034楼主2023/10/20 12:26
#include<iostream>
using namespace std;
string s,s1,s2;
string fan(string x)
{
    string y,w;
    for(int i=x.size()-1;i>=0;i--)y+=x[i];
    int cnt=0;
    while(true)
    {
        if(y[cnt]=='0')
        {
            cnt++;
        }
        else break;
    }
    for(int i=cnt;i<=x.size()-1;i++)w+=y[i];
    return w;
}
int main()
{
    cin>>s;
    int k=0,l;
    for(int i=0;i<=s.size()-1;i++)
    {
        if(s[i]=='.')
        {
            k=1;
            l=i;
        }
        if(s[i]=='/')
        {
            k=2;
            l=i;
        }
    }
    if(s[s.size()-1]=='%')
    {
        k=3;
    }
    
    
    if(k==0)
    {
        if(s!="0")
        {
            s=fan(s);
        }
        cout<<s<<endl;
    }
    if(k==1)
    {
        for(int i=0;i<=l-1;i++)s1+=s[i];
        if(s1!="0")
        {
            s1=fan(s1);
        }
        for(int i=l+1;i<=s.size()-1;i++)s2+=s[i];
        if(s2!="0")
        {
            s2=fan(s2);
        }
        cout<<s1<<'.'<<s2<<endl;
    }
    if(k==2)
    {
        for(int i=0;i<=l-1;i++)s1+=s[i];
        if(s1!="0")
        {
            s1=fan(s1);
        }
        for(int i=l+1;i<=s.size()-1;i++)s2+=s[i];
        if(s2!="0")
        {
            s2=fan(s2);
        }
        cout<<s1<<'/'<<s2<<endl;
    }
    if(k==3)
    {
        for(int i=0;i<s.size()-1;i++)s1+=s[i];
        if(s1!="0")s1=fan(s1);
        cout<<s1<<'%'<<endl;
    }
    return 0;
}
2023/10/20 12:26
加载中...