90分,路过的大神帮忙看看~
查看原帖
90分,路过的大神帮忙看看~
12601
LYF0509楼主2015/11/13 17:12
var st,st1,st2:string;
    i:longint;
begin
  readln(st);
  if pos('.',st)>0 then 
    begin
      st1:=copy(st,1,pos('.',st)-1);
      st2:=copy(st,pos('.',st)+1,length(st));
      while (st1[length(st1)]='0') and (length(st1)>1) do delete(st1,length(st1),1);
      while (st2[length(st2)]='0') and (length(st2)>1) do delete(st2,length(st2),1);
      for i:=length(st1) downto 1 do write(st1[i]);
      write('.');
      for i:=length(st2) downto 1 do write(st2[i]);
    end
  else if pos('/',st)>0 then
    begin
      st1:=copy(st,1,pos('/',st)-1);
      st2:=copy(st,pos('/',st)+1,length(st));
      while (st1[length(st1)]='0') and (length(st1)>1) do delete(st1,length(st1),1);
      while (st2[length(st2)]='0') and (length(st2)>1) do delete(st2,length(st2),1);
      for i:=length(st1) downto 1 do write(st1[i]);
      write('/');
      for i:=length(st2) downto 1 do write(st2[i]);
    end
  else if st[length(st)]='%' then
    begin
      delete(st,length(st),1);
      while (st[length(st)]='0') and (length(st)>1) do delete(st,length(st),1);
      for i:=length(st) downto 1 do write(st[i]);
      write('%');
    end
  else 
    begin
      while (st[length(st)]='0') and (length(st)>1) do delete(st,length(st),1);
      for i:=length(st) downto 1 do write(st[i]);
    end;
end.
2015/11/13 17:12
加载中...