我没有优化!我没有优化!
code:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
bool xs,fs,bfs;
if(s.find(".")==-1){
xs=0;
}
else{
xs=1;
}
if(s.find("/")==-1){
fs=0;
}
else{
fs=1;
}
if(s.find("%")==-1){
bfs=0;
}
else{
bfs=1;
}
string x="";
if(xs==0&&fs==0&&bfs==0)/*整数*/{
for(int i=s.size()-1;i>=0;i--){
x+=s[i];
}
}
while(x.size()>1&&x[0]=='0'){
x.erase(0,1);
}
cout<<x;
if(xs==1&&fs==0&&bfs==0){
int t=s.find(".");
string b="",c="";
string b2="",c2="";
for(int i=0;i<s.size();i++){
if(i<t){
b+=s[i];
}
if(i>t){
c+=s[i];
}
}
while(b.size()>1&&b[b.size()-1]=='0'){
b.erase(b.size()-1,1);
}
for(int i=b.size()-1;i>=0;i--){
b2+=b[i];
}
while(c.size()>1&&c[0]=='0'){
c.erase(0,1);
}
for(int i=c.size()-1;i>=0;i--){
c2+=c[i];
}
cout<<b2<<"."<<c2;
}
if(xs==0&&fs==1&&bfs==0){
int t=s.find("/");
string q="",p="";
string q2="",p2="";
for(int i=0;i<s.size();i++){
if(i<t){
q+=s[i];
}
if(i>t){
p+=s[i];
}
}
while(q.size()>1&&q[q.size()-1]=='0'){
q.erase(p.size()-1,1);
}
for(int i=q.size()-1;i>=0;i--){
q2+=q[i];
}
while(p.size()>1&&p[0]=='0'){
p.erase(0,1);
}
for(int i=p.size()-1;i>=0;i--){
p2+=p[i];
}
cout<<q2<<"/"<<p2;
}
string f="";
int r=s.size()-2;
if(xs==0&&fs==0&&bfs==1){
for(int i=r;i>=0;i--){
f+=s[i];
}
while(f.size()>1&&f[0]=='0'){
f.erase(0,1);
}
cout<<f<<"%";
}
}
为啥只有90>=<