逆天做法(83行……)
查看原帖
逆天做法(83行……)
1004873
wait_for_load楼主2023/11/18 20:54
#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s;
	cin>>s;
	int len=s.size(),p;
	if(int(s.find('.'))!=-1){
		p=int(s.find('.'));
		string h=s.substr(0,p),t=s.substr(p+1);
		reverse(h.begin(),h.end());
		reverse(t.begin(),t.end());
		if(h=="0")cout << "0";
		else{
			bool flag=0;
			for(int i=0;i<=h.size()-1;i++){
				if(h[i]!='0')flag=1;
				if(flag)cout << h[i];
			}
		}
		cout << '.';
		if(t=="0")cout << "0";
		else{
			int tlen=t.size();
			for(int i=tlen-1;i>=0;i--){
				if(t[i]!='0')break;
				tlen--;
			}
			for(int i=0;i<=tlen-1;i++)cout << t[i];
		}
		cout << endl;
	}
	else if(int(s.find('/'))!=-1){
		p=int(s.find('/'));
		string h=s.substr(0,p),t=s.substr(p+1);
		reverse(h.begin(),h.end());
		reverse(t.begin(),t.end());
		if(h=="0")cout << "0";
		else{
			bool flag=0;
			for(int i=0;i<=h.size()-1;i++){
				if(h[i]!='0')flag=1;
				if(flag)cout << h[i];
			}
		}
		cout << '/';
		if(t=="0")cout << "0";
		else{
			bool flag=0;
			for(int i=0;i<=t.size()-1;i++){
				if(t[i]!='0')flag=1;
				if(flag)cout << t[i];
			}
		}
		cout << endl;
	}
	else if(int(s.find('%'))!=-1){
		string ss=s.substr(0,len-1);
		reverse(ss.begin(),ss.end());
		if(ss=="0")cout << "0";
		else{
			bool flag=0;
			for(int i=0;i<=ss.size()-1;i++){
				if(ss[i]!='0')flag=1;
				if(flag)cout << ss[i];
			}
		}
		cout << "%" << endl;
	}
	else{
		reverse(s.begin(),s.end());
		if(s=="0")cout << "0" << endl;
		else{
			bool flag=0;
			for(int i=0;i<=len-1;i++){
				if(s[i]!='0')flag=1;
				if(flag)cout << s[i];
			}
			cout << endl;
		}
	}
	return 0;
}
2023/11/18 20:54
加载中...