```cpp
#include <bits/stdc++.h>
using namespace std;
string s,t;
int pos,l;
void re(string &s,int a,int b){
l=b-a+1;
t="";
while(s[b]=='0')b--;
while(b-a+1)t+=s[b--];
if(t.empty())t="0";
s.replace(a,l,t);
}
int main(){
cin>>s;
if((pos=s.find('.'))!=string::npos){
re(s,0,pos-1);
re(s,s.find('.')+1,s.size()-1);
while(s[s.size()-1]=='0'&&s.find('.')+2<s.size())s.resize(s.size()-1);
}
else if((pos=s.find('/'))!=string::npos){
re(s,0,pos-1);
re(s,s.find('/')+1,s.size()-1);
}
else re(s,0,(pos=s.find('%'))-string::npos?pos-1:s.size()-1);
cout<<s;
return 0;
}
```
by Ricky2008 @ 2022-10-25 18:39:03
@[Ricky2008](/user/312730)
看不懂
by luogu_MeiFengqi @ 2022-10-30 06:41:57
```
#include<bits/stdc++.h>
using namespace std;
char a[101];
char b[101];
char c[101];
void zs(int ll)
{
for(int i=ll-1;i>=0;i--)
{
if(a[i]=='0') a[i]='A';
else break;
}
if(a[0]=='A') printf("0");
for(int i=ll-1;i>=0;i--)
if(a[i]!='A') printf("%c",a[i]);
}
void xs(int ll,int fhw,int q)
{
int qw=0;
for(int i=0;i<fhw;i++)
b[i]=a[i];
for(int i=fhw+1;i<ll;i++)
c[q]=a[i],q++;
for(int i=fhw-1;i>=0;i--)
{
if(b[i]=='0') b[i]='A';
else break;
}
int sl=strlen(c);
for(int i=0;i<sl;i++)
{
if(c[i]=='0') c[i]='A';
else break;
}
for(int i=0;i<sl;i++)
{
if(c[i]!=0) break;
else qw++;
}
for(int i=fhw-1;i>=0;i--)
if(b[i]!='A') printf("%c",b[i]);
printf(".");
if(qw==sl) printf("0");
for(int i=sl-1;i>=0;i--)
if(c[i]!='A') printf("%c",c[i]);
}
void fs(int ll,int fhw,int q)
{
int qw=0;
for(int i=0;i<fhw;i++)
b[i]=a[i];
for(int i=fhw+1;i<ll;i++)
c[q]=a[i],q++;
for(int i=fhw-1;i>=0;i--)
{
if(b[i]=='0') b[i]='A';
else break;
}
int sl=strlen(c);
for(int i=0;i<sl;i++)
{
if(c[i]=='0') c[i]='A';
else break;
}
for(int i=0;i<sl;i++)
{
if(c[i]!=0) break;
else qw++;
}
for(int i=fhw-1;i>=0;i--)
if(b[i]!='A') printf("%c",b[i]);
printf("/");
if(qw==sl) printf("0");
for(int i=sl-1;i>=0;i--)
if(c[i]!='A') printf("%c",c[i]);
}
void bfs(int ll)
{
for(int i=ll-2;i>=0;i--)
{
if(a[i]=='0') a[i]='A';
else break;
}
if(a[0]=='A') printf("0%");
for(int i=ll-2;i>=0;i--)
{
if(a[i]!='A') printf("%c",a[i]);
if(i==0)
printf("%%");
}
}
int main()
{
int d=1,fh;
scanf("%s",a);
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='.') d=2,fh=i;
else if(a[i]=='/') d=3,fh=i;
else if(a[i]=='%') d=4;
}
if(d==1)zs(l);
else if(d==2)xs(l,fh,0);
else if(d==3)fs(l,fh,0);
else if(d==4)bfs(l);
return 0;
}
```c++
七十五分了,但139000.0这组数据错了,只能输出931.
by luogu_MeiFengqi @ 2022-11-05 08:20:10