daan
查看原帖
daan
422129
janesfei楼主2024/6/22 16:32
#include<bits/stdc++.h>
using namespace std;
string ar(string s){//void 代表空函数,没有返回值 
	int k=0;
	while(s[k]=='0'&&k!=s.size()-1){//s.size()  s.length()
		k++;
	}
	return s.substr(k,s.size()-k);
}  
string zr(string s){
	int k=s.size()-1,sum=0;
	while(s[k]=='0'&&k!=0){//s.size()  s.length()
		k--;
		sum++;
	}
	return s.substr(0,s.size()-sum);
}

void VIP(string s,string f){
		int x=s.find(f);//找到符号分水岭 
		string t1=s.substr(0,x);//截取半段 
		string t2=s.substr(x+1,s.size()-x);//截取后半段 
		if(f=="."){
			t1=zr(t1);//删除后导 
			t2=ar(t2);//删除前导 
		}else if(f=="/"){
			t1=zr(t1);//删除后导 
			t2=zr(t2);//删除后导 
		}else if(f=="%"){
			t1=zr(t1);//删除后导 
			t2=ar(t2);//删除前导 
		}
		for(int i=t1.size()-1;i>=0;i--){//倒序 
			cout<<t1[i];
		}
		cout<<f;
		for(int i=t2.size()-1;i>=0;i--){//倒序 
			cout<<t2[i];
		}
} 
int main(){
	string s;
	cin>>s;
	if(s.find(".")!=-1){
		VIP(s,".");
	}else if(s.find("/")!=-1){
		VIP(s,"/");
	}else if(s.find("%")!=-1){
		VIP(s,"%");
	}else{
		s=zr(s);
		for(int i=s.size()-1;i>=0;i--){
			cout<<s[i];
		}
	}
	return 0;
}
2024/6/22 16:32
加载中...