求调,玄关
查看原帖
求调,玄关
877753
封禁用户楼主2023/9/21 14:30

RT,一道普及-的题,我太蒟蒻了,写的代码和baba一样。

#include<bits/stdc++.h>
using namespace std;

int main(){
    string s;cin>>s;
    bool isint=false,isdouble=false,is100=false,isfen=false;
    int isdouble_,is100_,isfen_;
    for(int i=0;i<s.size();i++){
        if(s[i]=='/'){
            isfen=true,isfen_=i;break;
        }
        else if(s[i]=='%'){
            is100=true,is100_=i;break;
        }
        else if(s[i]=='.'){
            isdouble=true,isdouble_=i;break;
        }
        else isint=true;
    }
    if(isfen){
        for(int i=s.size()-2-isfen_;i>=0;i--){
			if(s[s.size()-2-isfen_]=='0'){
				s[s.size()-2-isfen_]='1';
				continue;
			}
			else cout<<s[i];
		}
        cout<<'/';
        for(int i=s.size()-1;i>isfen_;i--){cout<<s[i];}
    }
    if(isint){
    	for(int i=s.size()-1;i>=0;i--){
    		if(s[i]=='0'){
    			continue;
			}
			else cout<<s[i];
		}
	}
	if(isdouble){
		for(int i=s.size()-2-isdouble_;i>=0;i--){
			if(s[s.size()-2-isdouble_]=='0'){
				s[s.size()-2-isdouble_]='1';
				continue;
			}
			else cout<<s[i]; 
		}
        cout<<'.';
        for(int i=s.size()-1;i>isdouble_;i--){cout<<s[i];}
	}
	if(is100){
		for(int i=s.size()-2;i>=0;i--){
			if(s[s.size()-2]=='0'){
				s[s.size()-2]='1';continue;
			}
			cout<<s[i];
		}
		cout<<'%';
	}
    return 0;
}
2023/9/21 14:30
加载中...