鱼C论坛

 找回密码
 立即注册
查看: 1474|回复: 0

[技术交流] 洛谷题目 P1553

[复制链接]
发表于 2020-1-19 22:38:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
// https://www.luogu.com.cn/problem/P1553

#include <iostream>
#include <string>

using namespace std;

string reverse(string s)
{
    int i;
    string a = "";
    for (i = s.size() - 1; i >= 0; i--)
        a += s[i];
    return a;
}

int count_zero_front(string s)
{
    int i = 0, j;
    for (j = 0; j < s.size(); j++)
    {
        if (s[j] == '0')
            i++;
        else
            break;
    }
    return i;
}

int count_zero_end(string s)
{
    int i = 0, j;
    for (j = (s.size() - 1); j >= 0; j--)
    {
        if (s[j] == '0')
            i++;
        else
            break;
    }
    return i;
}

int main()
{
    string a;
    getline(cin, a);

    if (a.find('.') != string::npos)
    {
        int pos = a.find('.');
        string t = reverse(a.substr(0, pos));
        string s = reverse(a.substr(pos + 1, a.size() - 1));
        t.erase(0, count_zero_front(t));
        s.erase((s.size() - count_zero_end(s)), count_zero_end(s));
        cout << ((t != "") ? t : "0") << "." << ((s != "") ? s : "0");
    }
    else if (a.find('/') != string::npos)
    {
        int pos = a.find('/');
        string t = reverse(a.substr(0, pos));
        string s = reverse(a.substr(pos + 1, a.size() - 1));
        t.erase(0, count_zero_front(t));
        s.erase(0, count_zero_front(s));
        cout << ((t != "") ? t : "0") << "/" << ((s != "") ? s : "0");
    }
    else if (a.find('%') != string::npos)
    {
        int pos = a.find('%');
        string t = reverse(a);
        t.erase(0, 1);
        t.erase(0, count_zero_front(t));
        cout << ((t != "") ? t : "0") << "%";
    }
    else
    {
        string t = reverse(a);
        t.erase(0, count_zero_front(t));
        cout << ((t != "") ? t : "0");
    }

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 07:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表