95求调(10WA)
查看原帖
95求调(10WA)
1252892
zyc20130505楼主2024/7/19 12:43
#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	int l=s.size(),x;
	
	int sum=0;
	for(int i=0;i<l;i++){
		if(s[i]=='%'){
			sum=3;
			break;
		}
		if(s[i]=='.'){
			sum=1;
			x=i;
			break;
		}
		if(s[i]=='/'){
			x=i;
			sum=2;
			break;
		}
	}
	if(l==1||(l==2&&sum==3)){
		cout<<s;
		return 0;
	}
	bool f=0;
	if(sum==3){
		for(int i=l-2;i>=0;i--){
			if(f!=0||s[i]!='0'){
				f=1;
				cout<<s[i];
			}
		}
		cout<<'%';
	}else if(sum==0){
		for(int i=l-1;i>=0;i--){
			if(f!=0||s[i]!='0'){
				f=1;
				cout<<s[i];
			}
		}
	}else if(sum==1){
		for(int i=x-1;i>=0;i--){
			if(f!=0||s[i]!='0'){
				f=1;
				cout<<s[i];
			}
		}
		cout<<'.';
		bool f1=0;
		for(int i=l-1;i>x;i--){
			if(s[i]!='0'){
				f1=1;
				break;
			}
		}
		if(!f1){
			cout<<'0';
			return 0;
		}else{
			f=0;
			for(int i=l-1;i>x;i--){
				if(s[i]!='0'){
					cout<<s[i];
				}else{
					bool f1=0;
					for(int j=i-1;j>x;j--){
						if(s[j]!='0'){
							f1=1;
							break;
						}
					}
					if(f1){
						cout<<s[i];	
					}else{
						return 0;
					}
				}
			}
		}
	}else{
		if(s[0]=='0'&&x==1){
			cout<<0;
		}else{
			for(int i=x-1;i>=0;i--){
				if(f!=0||s[i]!='0'){
					f=1;
					cout<<s[i];
				}
			}
		}
		cout<<'/';
		f=0;
		for(int i=l-1;i>x;i--){
			if(f!=0||s[i]!='0'){
				f=1;
				cout<<s[i];
			}
		}
	}
	return 0;
}
2024/7/19 12:43
加载中...