求条,指点一下哪错了
查看原帖
求条,指点一下哪错了
1571162
封禁用户楼主2025/7/21 16:39
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define uint unsigned long long
#define speed ios::sync_with_stdio(0),cin.tie(0), cout.tie(0);
string s;
signed main() {
	speed
	cin>>s;
	if(s[s.size()-1]=='%'){
		reverse(s.begin(),s.end()-1);
		while(s[0]=='0'&&s.size()>2)s.erase(0,1);
		cout<<s;
	}
	else if(s.find('.')!=string::npos){
		int f=s.find('.');
		reverse(s.begin(),s.begin()+f);
		reverse(s.begin()+f+1,s.end());
		while(s[0]=='0'&&s[1]!='.')s.erase(0,1);
		while(s[s.size()-1]=='0'&&s[s.size()-2]!='.')s.erase(s.size()-1,1);
		cout<<s;	
	}
	else if(s.find('/')!=string::npos){
		int f=s.find('/');
		reverse(s.begin(),s.begin()+f);
		reverse(s.begin()+f+1,s.end());
		while(s[0]=='0'&&s[1]!='.')s.erase(0,1);
		while(s[s.size()-1]=='0'&&s[s.size()-2]!='/')s.erase(s.size()-1,1);
		cout<<s;	
	}
	else{
		reverse(s.begin(),s.end());
		while(s[0]=='0'&&s.size()>1)s.erase(0,1);
		cout<<s;
	}
	return 0;
}

at me

2025/7/21 16:39
加载中...