大佬们 提交后 又红又绿又紫的 帮帮我????
查看原帖
大佬们 提交后 又红又绿又紫的 帮帮我????
664284
bei_awa楼主2022/1/25 12:02
#include <math.h>
#include <string.h>
#include <string>
const int N = 1e5+10;
using namespace std;
int main()
{
    string a;
    cin >>a;
    int len = a.size();
    int id = -1,flag = 0;
    for (int i = 0; i < len; i++)
    {
        if (a[i]== '%')
        {
            flag = 4;
            id = i;
        }
        else if(a[i] == '/')
        {
            flag = 3;
            id = i;
        }
        else if(a[i] == '.')
        {
            flag = 2;
            id = i;
        }
    }
    if (flag == 0)
    {
        len--;
        while(a[len] == '0' && len > 0)
        {
            len--;
        }
        for (int i = 0; i >= 0; i--)
        {
            cout << a[i];        
        }
    }
    else if(flag == 2 || flag == 3)
    {
        int k = id;
        id--;
        while(id > 0 && a[id] == '0')
        {
            id--;
        }
        for (int i = id; i >= 0; i--)
        {
            cout << a[i];
        }
        if(flag == 2)
        {
            cout << '.';
        }
        else
        {
            cout << '/';
        }
        k++;
        len--;
        while(k < len && a[k] == '0')
        {
            k++;
        }
        while(a[len] == '0' && len > k)
        {
            len--;
        }
        for (int i = len; i >= k; ++i)
        {
            cout << a[i];
        }
    }
    else if(flag == 4)
    {
        len-= 2;
        while(a[len] == '0' && len > 0)
        {
            len--;
        }
        for (int i = len; i >= 0; i--)
        {
            cout << a[i];
        }
        cout << '%';
    }
}
2022/1/25 12:02
加载中...