求助,60分,但下数据下来,第6个点输出和答案一样不知道哪里错了
查看原帖
求助,60分,但下数据下来,第6个点输出和答案一样不知道哪里错了
516905
cwqluo楼主2021/9/11 18:39
#include<iostream>
#include<string>
using namespace std;
char a[100];
int main()
{
    int s1 = 0, i, j=0, k = 0, pa = 0, ci = 0, f = 0, min = 0, s = 0,z1=0;
    
    string c;

    cin>>c;

    for (int i = 0; i <= c.length(); i++)//判断是什么类型的数 
    {
        if (c[i]=='.')
        {
            pa = 1;
            s = i;
        }
        else if (c[i]=='/')
        {
            pa = 2;
            s = i;
        }
        else if(c[i]=='%')
        {
            pa = 3;
        }    
    }
    if (pa==0)//整数反转
    {
        for ( i = c.length()-1; i >= 0; i--)
        {
            if ((c.length()==1)&&(c[i]=='0'))
            {
                cout << c[i];
                break;
            }
            if (z1==0&&c[i]=='0')
            {
                continue;
            }
            z1++;
            cout << c[i];
        } 
    }
    if (pa==1)//小数反转
    {
        for (i = s-1; i >= 0; i--)
        {
            if (z1 == 0 && c[i] == '0')
            {
                continue;
            }
            if (c[i]=='.')
            {
                break;
            }
            z1++;
            cout << c[i];
        }
        cout << '.';
        z1 = 0;
        for ( i = s+1; i < c.length(); i++)
        {
            if ((i==(c.length()-1))&&(c[i]=='0'))
            {
                a[j] = c[i];
                break;
            }
            if (z1 == 0 && c[i] == '0')
            {
                continue;
            }
            a[j] = c[i];
            j++;
            z1++;
        }
        for ( i = j; i >= 0; i--)
        {
            cout << a[i];
        }

    }
    if (pa == 2)//分数反转
    {
        for (i = s - 1; i >= 0; i--)
        {
            if (z1 == 0 && c[i] == '0')
            {
                continue;
            }
            if (c[i] == '/')
            {
                break;
            }
            z1++;
            cout << c[i];
        }
        cout << '/';
        z1 = 0;
        for (i = c.length()-1; i > s ; i--)
        {
            cout << c[i];
        }

    }
    if (pa == 3)//整数反转
    {
        for (i = c.length() - 2; i >= 0; i--)
        {
            if (z1 == 0 && c[i] == '0')
            {
                continue;
            }
            z1++;
            cout << c[i];
        }
        cout << '%';
    }

    return 0;
}
   
   ```
2021/9/11 18:39
加载中...