代码如下
#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
char a[100];
gets(a);
int point1=0,point2=0,point3=0;
for(int i=0;i<strlen(a);i++)
{
if(a[i]=='/') point1=i;
if(a[i]=='.') point2=i;
if(a[i]=='%') point3=1;
}
if(point1)
{
int jud1=0,jud2=0;
if(point1==1&&a[0]=='0') printf("0");
else for(int i=point1-1;i>=0;i--)
{
if(jud1==0&&a[i]=='0') continue;
jud1++;
printf("%c",a[i]);
}
printf("/");
if((strlen(a)-point1-1)==1&&a[strlen(a)-1]=='0') printf("0");
else for(int i=strlen(a)-point3-1;i>point1;i--)
{
if(jud2==0&&a[i]=='0') continue;
jud2++;
printf("%c",a[i]);
}
}
else if(point2)
{
int jud1=0,jud2=0;
if(point2==1&&a[0]=='0') printf("0");
else for(int i=point2-1;i>=0;i--)
{
if(jud1==0&&a[i]=='0') continue;
jud1++;
printf("%c",a[i]);
}
printf(".");
if((strlen(a)-point2-1)==1&&a[strlen(a)-1]=='0') printf("0");
else {
int len=0;
while(a[point2+len+1]=='0') len++;
for(int i=strlen(a)-point3-1;i>point2+len;i--)
{
if(jud2==0&&a[i]=='0') continue;
jud2++;
printf("%c",a[i]);
}
}
}
else
{
int jud=0;
for(int i=strlen(a)-point3-1;i>=0;i--)
{
if(jud==0&&a[i]=='0') continue;
jud++;
printf("%c",a[i]);
}
}
if(point3) printf("%%");
return 0;
}