85分,注意了零,有神马错误????
查看原帖
85分,注意了零,有神马错误????
18520
封禁用户楼主2016/5/19 20:24
var x1,x2,x,st:ansistring;
s1,s2,s3,i:longint;
begin
  readln(st);
  s1:=pos('.',st);
  s2:=pos('/',st);
  s3:=pos('%',st);
  if s1<>0 then
  begin
    x1:=copy(st,1,s1-1);
    x2:=copy(st,s1+1,length(st));
    for i:=length(x1) downto 1 do
      if x1[i]='0' then delete(x1,i,i) else break;
    for i:=1 to length(x2) do
      if x2[i]='0' then delete(x2,i,i) else break;
    if length(x1)=0 then write('0')
    else
    begin
      for i:=length(x1) downto 1 do
        write(x1[i]);
    end;
    write('.');
    if length(x2)=0 then write('0')
    else
    begin
      for i:=length(x2) downto 1 do
        write(x2[i]);
    end;
    exit;
  end;
  if s2<>0 then
  begin
    x1:=copy(st,1,s2-1);
    x2:=copy(st,s2+1,length(st));
    for i:=length(x1) downto 1 do
      if x1[i]='0' then delete(x1,i,i) else break;
    for i:=length(x2) downto 1 do
      if x2[i]='0' then delete(x2,i,i) else break;
    if length(x1)=0 then write('0')
    else
    begin
      for i:=length(x1) downto 1 do
        write(x1[i]);
    end;
    write('/');
    if length(x2)=0 then write('0')
    else
    begin
      for i:=length(x2) downto 1 do
        write(x2[i]);
    end;
    exit;
  end;
  if s3<>0 then
  begin
    x:=copy(st,1,s3-1);
    for i:=length(x) downto 1 do
      if x[i]='0' then delete(x,i,i) else break;
      for i:=length(x) downto 1 do
        write(x[i]);
    write('%');
    exit;
  end;
  for i:=length(st) downto 1 do
    if st[i]='0' then delete(st,i,i) else break;
  if length(st)=0 then write('0')
  else
  begin
    for i:=length(st) downto 1 do
      write(st[i]);
  end;
end.
输出过于太长是神马错误??????????
2016/5/19 20:24
加载中...