求教:#19一直显示“ WA”下载次数用完了 麻烦帮忙看一下
查看原帖
求教:#19一直显示“ WA”下载次数用完了 麻烦帮忙看一下
470334
Chill6楼主2021/7/15 16:28
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int main() {
    string s, a, s1, s2, s3;
    int sum, b = 0, c, d;
    cin >> s;
    sum = s.length();
    if(sum==1){
        cout << s;
        return 0;
    }
    for(int i = 0; i < sum; i++)
        if(s[i]<'0' || s[i]>'9') b = i;
    if(b==0){
        for(int i = sum-1; i >= 0; i--)
            a += s[i];
        c = a.find('0');
        if(c==-1) cout << a;
        else if (c==0)
            while(a[c]=='0'){
                a[c] = ' ';
                c++;
            }
            for(int i = 0; i < sum; i++){
                if(a[i]==' ') continue;
                else cout << a[i];
             }
    }
    else if(s[b]=='.'){
        if(s[0]=='0' && s[b+1]=='0' && s.length()==3){
            cout << 0 << '.' << 0;
            return 0;
        }
        for(int i = b-1; i >= 0; i--)
            s1 += s[i];
        for(int i = b+1; i <= sum-1; i++)
            s2 += s[i];
        c = s1.find('0');
        d = s2.find('0');
        if(c==0){
            while(s1[c]=='0'){
                s1[c] =' '; c++;
            }
            for(int i = 0; i < b; i++){
                if(s1[0]==' ' && s1.length()==1){
                    cout << 0;
                    break;
                }
                if(s1[i]==' ') continue;
                else cout << s1[i];
            }
        }
        else cout << s1;
        cout << '.';
        if(d==0){
            while(s2[d]=='0'){
                 s2[d] = ' ';
                 d++;
            }
            if(d==sum-b-1) cout << 0;
            for(int i = sum-b-2; i >= 0; i--){
                if(s2[i]==' ') continue;
                else cout << s2[i];
            }
        }
        else
            for(int i = sum -b-2 ; i >= 0; i--)
                cout << s2[i];
    }
    else if(s[b]=='/'){
        for(int i = b-1; i >= 0; i--)
            s1 += s[i];
        for(int i = sum-1; i >= b+1;i--)
            s2 += s[i];
        c = s1.find('0');
        d = s2.find('0');
        if(c==0){
            while(s1[c]=='0'){
                s1[c] = ' ';
                c++;
            }
            for(int i = 0; i < b; i++){
                if(s1[i]==' '&& s1.length()==1) {
                    cout << 0;
                    break;
                }
                if(s1[i]==' ') continue;
                else cout << s1[i];
            }
        }
        else cout << s1;
        cout << '/';
        if(d==0){
            while(s2[d]=='0'){
                s2[d] = ' ';
                d++;
            }
            for(int i = 0; i <= sum-b-2; i++){
                if(s2[i]==' ') continue;
                else cout << s2[i];
            }
        }
        else cout << s2;
    }
    else if(s[b]=='%'){
        if(s[0]=='0'){
            cout << 0 <<'%';
            return 0;
        }
        for(int i = b-1; i >= 0; i--)
            a += s[i];
         c = a.find('0');
         if(c==-1) cout << a;
         else if(c==0){
             while(a[c]=='0'){
                  a[c]=' ';
                  c++;
             }
             for(int i = 0; i <= b-1; i++){
                if(a[i]==' ') continue;
                else cout << a[i];
             }
         }
         cout << "%";
    }
    return 0;
}

2021/7/15 16:28
加载中...