家人们我代码这么长是不是没救了
查看原帖
家人们我代码这么长是不是没救了
356055
The_NewBoy楼主2021/10/12 20:01

RT

#include<bits/stdc++.h>
using namespace std;
string s;
int opt=-1;
int cnt=0;
int main(){
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]=='.'){
			opt=1;
			cnt=i;
		}
		if(s[i]=='/'){
			opt=2;
			cnt=i;
		}
		if(s[i]=='%'){
			opt=3;
		}
	}
	if(opt==-1){
		opt=0;
	}
	if(opt==0){
		if(s=="0"){
			cout<<0<<endl; 
		}else{
			while(s[0]=='0')s.erase(0,1);
			reverse(s.begin(),s.end());
			while(s[0]=='0')s.erase(0,1);
			cout<<s<<endl;
		}
	}
	else if(opt==1){
		string s2=s.substr(0,cnt);
		reverse(s2.begin(),s2.end());
		string s3=s.substr(cnt+1,s.size());
		reverse(s3.begin(),s3.end());
		if(s2!="0"&&s3!="0"){
			while(s2[0]=='0')s2.erase(0,1);
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			cout<<s2<<'.'<<s3<<endl;	
		}
		else if(s2!="0"){
			while(s2[0]=='0')s2.erase(0,1);
			cout<<s2<<'.'<<0<<endl; 
		}
		else if(s3!="0"){
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			cout<<0<<'.'<<s3<<endl;
		}
		else cout<<"0.0";
	}
	else if(opt==2){
		string s2=s.substr(0,cnt);
		reverse(s2.begin(),s2.end());
		string s3=s.substr(cnt+1,s.size());
		reverse(s3.begin(),s3.end());
		if(s2!="0"&&s3!="0"){
			while(s2[0]=='0')s2.erase(0,1);
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			cout<<s2<<'/'<<s3<<endl;	
		}
		else if(s2!="0"){
			while(s2[0]=='0')s2.erase(0,1);
			cout<<s2<<'/'<<0<<endl; 
		}
		else if(s3!="0"){
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			while(s3[0]=='0')s3.erase(0,1);
			reverse(s3.begin(),s3.end());
			cout<<0<<'/'<<s3<<endl;
		}
		else cout<<"0/0"<<endl;
	}
	else if(opt==3){
		reverse(s.begin(),s.end());
		s.erase(0,1);
		if(s!="0"){
			while(s[0]=='0')s.erase(0,1);
		}
		cout<<s<<'%'<<endl;
	}
	return 0;
}
2021/10/12 20:01
加载中...