下面的代码在本地编译器可以运行,但是到了洛谷上边就显示 编译错误
#include<cmath>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
char s[10010],a[10010],b[10010],letter=EOF;
bool f=true;
int w_z_=0;
int main(){
scanf("%s",&s);
for(int i=0;i<strlen(s);i++){
if(s[i]=='.'){
letter='.';
w_z_=i;
break;
}
if(s[i]=='/'){
letter='/';
w_z_=i;
break;
}
if(s[i]=='%'){
letter='%';
break;
}
}
if(letter=='.'){
for(int i=0;i<w_z_;i++)a[i]=s[i];
for(int i=w_z_+1;i<strlen(s);i++)b[i-w_z_-1]=s[i];
strrev(a);
strrev(b);
for(int i=0;i<strlen(a);i++){
if(f&&a[i]=='0')continue;
else{
f=false;
printf("%c",a[i]);
}
}
printf(".");
f=true;
for(int i=0;i<strlen(b);i++){
if(f&&b[i]=='0')continue;
else{
f=false;
printf("%c",b[i]);
}
}
}
else if(letter=='/'){
for(int i=0;i<w_z_;i++)a[i]=s[i];
for(int i=w_z_+1;i<strlen(s);i++)b[i-w_z_-1]=s[i];
strrev(a);
strrev(b);
for(int i=0;i<strlen(a);i++){
if(f&&a[i]=='0')continue;
else{
f=false;
printf("%c",a[i]);
}
}
printf("/");
f=true;
for(int i=0;i<strlen(b);i++){
if(f&&b[i]=='0')continue;
else{
f=false;
printf("%c",b[i]);
}
}
}
else if(letter=='%'){
strrev(s);
for(int i=1;i<strlen(s);i++){
if(f&&s[i]=='0')continue;
else{
f=false;
printf("%c",s[i]);
}
}
printf("%\n");
}
else{
strrev(s);
for(int i=0;i<strlen(s);i++){
if(f&&s[i]=='0')continue;
else{
f=false;
printf("%c",s[i]);
}
}
}
return 0;
}