85分求条
查看原帖
85分求条
1325369
SoperBoy楼主2024/8/8 15:53

测试点6,8,9不过

求dalao调一下

#include<bits/stdc++.h>
using namespace std;
int main(){
	string a;
	cin>>a;
	if(a=="0"||a=="0.0"||a=="0%"){
		cout<<a;
		return 0;
	}
	if(a[0]=='0'&&a[1]=='/'){
		cout<<"0/";
		string b;
		b=a.substr(a.find('/')+1);
		reverse(b.begin(),b.end());
		int cnt=0;
		for(int j=0;j<b.length();j++){
			if(b[j]!='0'){
				cnt=j;
				break;
			}
		}
		for(int j=cnt;j<b.length();j++){
			cout<<b[j];
		}
		return 0;
	}
	for(int i=0;i<a.length();i++){
		if(a[i]=='.'){
			string b,c;
			b=a.substr(0,a.find("."));
			c=a.substr(a.find(".")+1);
			reverse(b.begin(),b.end());
			reverse(c.begin(),c.end());
			int cnt=0;
			for(int j=0;j<b.length();j++){
				if(b[j]!='0'){
					cnt=j;
					break;
				}
			}
			for(int j=cnt;j<b.length();j++){
				cout<<b[j];
			}
			cout<<".";
			cnt=0;
			for(int j=0;j<c.length();j++){
				if(c[j]=='0'){
					cnt=j;
					break;
				}
			}
			for(int j=0;j<cnt;j++){
				cout<<c[j];
			}
			return 0;
		}else if(a[i]=='/'){
			string b,c;
			b=a.substr(0,a.find("/"));
			c=a.substr(a.find("/")+1);
			reverse(b.begin(),b.end());
			reverse(c.begin(),c.end());
			int cnt=0;
			for(int j=0;j<b.length();j++){
				if(b[j]!='0'){
					cnt=j;
					break;
				}
			}
			for(int j=cnt;j<b.length();j++){
				cout<<b[j];
			}
			cout<<"/";
			cnt=0;
			for(int j=0;j<c.length();j++){
				if(c[j]!='0'){
					cnt=j;
					break;
				}
			}
			for(int j=cnt;j<c.length();j++){
				cout<<c[j];
			}
			return 0;
		}else if(a[i]=='%'){
			string b;
			b=a.substr(0,a.find("%"));
			reverse(b.begin(),b.end());
			int cnt=0;
			for(int j=0;j<b.length();j++){
				if(b[j]!='0'){
					cnt=j;
					break;
				}
			}
			for(int j=cnt;j<b.length();j++){
				cout<<b[j];
			}
			cout<<"%";
			return 0;
		}
	}
	reverse(a.begin(),a.end());
	int cnt=0;
	for(int i=0;i<a.length();i++){
		if(a[i]!='0'){
			cnt=i;
			break;
		}
	}
	for(int i=cnt;i<a.length();i++){
		cout<<a[i];
	}
	return 0;
}
2024/8/8 15:53
加载中...