就是小数后的零不会去除
#include<bits/stdc++.h>
using namespace std;
char a[1000];
string s;
int main(){
int zh=0;
getline(cin,s);
int len=s.length();
for(int i=0;i<len;i++){
if(s[i]=='/'){
zh=1;
break;
}
else if(s[i]=='.'){
zh=2;
break;
}
else if(s[i]=='%'){
zh=3;
break;
}
}
int cmp=len-1,cnt=0,pa=0;
if(zh==0){
if(len==1&&s[0]=='0'){
cout<<"0";
return 0;
}
if(s[0]=='-'){
cout<<"-";
pa=1;
}
if(s[cmp]!='0'){
for(int i=cmp;i>=0+pa;i--){
cout<<s[i];
}
}
else if(s[cmp]=='0'){
for(int i=cmp;i>=0+pa;i--){
if(cnt==1){
cout<<s[i];
}
if(s[i]=='0'&&s[i-1]!='0'){
cnt=1;
}
}
}
}
if(zh==1){
if(s[0]=='-'){cout<<"-"; pa=1;}
if(s[0]=='0'){
cout<<"0";
}
if(s[s.find("/")-1]!='0')
for(int i=s.find("/")-1;i>=0+pa;i--)
cout<<s[i];
else if(s[s.find("/")-1]=='0')
for(int i=s.find("/")-1;i>=0+pa;i--){
if(cnt==1)
cout<<s[i];
if(s[i]=='0'&&s[i-1]!='0')
cnt=1;
}
cnt=0;
cout<<"/";
if(s[cmp]!='0')
for(int i=cmp;i>=s.find("/")+1;i--)
cout<<s[i];
else if(s[cmp]=='0')
for(int i=cmp;i>=s.find('/')+1;i--){
if(cnt==1){
cout<<s[i];
}
if(s[i]=='0'&&s[i-1]!='0'){
cnt=1;
}
}
}
int ling=0;
if(zh==2){
if(s[0]=='-'){cout<<"-"; pa=1;}
if(pa==1){
if(s[1]=='0'&&s[2]=='.'){
cout<<"0";
}
}
else if(pa==0){
if(s[0]=='0'&&s[1]=='.'){
cout<<"0";
}
}
if(s[s.find(".")-1]!='0')
for(int i=s.find(".")-1;i>=0+pa;i--)
cout<<s[i];
else if(s[s.find(".")-1]=='0')
for(int i=s.find(".")-1;i>=0+pa;i--){
if(cnt==1)
cout<<s[i];
if(s[i]=='0'&&s[i-1]!='0')
cnt=1;
}
cnt=0;
cout<<".";
if(s[s.find(".")+1]!='0'){
for(int i=cmp;i>=s.find(".")+1;i--){
cout<<s[i];
}
}
else if(s[s.find(".")+1]=='0'){
for(int i=cmp;i>=s.find(".")+1;i--){
if(cnt==0){
cout<<s[i];
}
if(s[i]!='0'&&s[i-1]=='0'){
cnt=1;
}
}
}
}
if(zh==3){
if(len==2&&s[0]=='0'){
cout<<"0";
cout<<"%";
return 0;
}
if(s[0]=='-'){
cout<<"-";
pa=1;
}
if(s[cmp-1]!='0'){
for(int i=cmp-1;i>=0+pa;i--){
cout<<s[i];
}
}
else if(s[cmp-1]=='0'){
for(int i=cmp-1;i>=0+pa;i--){
if(cnt==1){
cout<<s[i];
}
if(s[i]=='0'&&s[i-1]!='0'){
cnt=1;
}
}
}
cout<<"%";
}
return 0;
}
感谢!!