level 1
lufei506
楼主
为什么只有95分
var
i,j,x,y,k1,k2,m,q,l:longint;
n,b,c:string;
begin
read(n);
l:=1;
j:=length(n);
k1:=j;
x:=pos('.',n);
y:=pos('/',n);
if n='0' then
begin
write('0');
halt;
end;
if n='0.0' then
begin
write('0.0');
halt;
end;
if n='0%' then
begin
write('0%');
halt;
end;
if (x=0)and(y=0)and(n[j]<>'%') then
begin
for i:=j downto 1 do
begin
if n[i]='0' then
begin
delete(n,i,1);
k1:=k1-1;
end
else break;
end;
for i:=k1 downto 1 do
write(n[i]);
end;
if (x<>0)and(y=0)and(n[j]<>'%') then
begin
b:=copy(n,x+1,j-x);
c:=copy(n,1,j-length(b)-1);
k1:=length(b);
k2:=length(c);
for i:=length(c) downto 1 do
if c[i]='0' then
begin
if c='0' then
break;
delete(c,i,1);
k2:=k2-1;
end
else break;
for i:=k2 downto 1 do
write(c[i]);
write('.');
for i:=1 to length(b) do
if b[i]='0' then
begin
if b='0' then
break;
delete(b,l,1);
k1:=k1-1;
l:=2;
end
else break;
for i:=k1 downto 1 do
write(b[i]);
end;
if (x=0)and(y<>0)and(n[j]<>'%') then
begin
b:=copy(n,y+1,j-y);
c:=copy(n,1,j-length(b)-1);
k1:=length(b);
k2:=length(c);
for i:=length(c) downto 1 do
begin
if c[i]='0' then
begin
if c='0' then
break;
delete(c,i,1);
k2:=k2-1;
end
else break;
end;
for i:=k2 downto 1 do
write(c[i]);
write('/');
for i:=length(b) downto 1 do
if b[i]='0' then
begin
if b='0' then
break;
delete(b,i,1);
k1:=k1-1;
end
else break;
for i:=k1 downto 1 do
write(b[i]);
end;
if (x=0)and(y=0)and(n[j]='%') then
begin
b:=copy(n,1,j-1);
for i:=length(b) downto 1 do
begin
if b[i]='0' then
begin
delete(b,i,1);
k1:=k1-1;
end
else break;
end;
for i:=length(b) downto 1 do
write(n[i]);
write('0%');
end;
end.
2015年08月18日 12点08分
1
var
i,j,x,y,k1,k2,m,q,l:longint;
n,b,c:string;
begin
read(n);
l:=1;
j:=length(n);
k1:=j;
x:=pos('.',n);
y:=pos('/',n);
if n='0' then
begin
write('0');
halt;
end;
if n='0.0' then
begin
write('0.0');
halt;
end;
if n='0%' then
begin
write('0%');
halt;
end;
if (x=0)and(y=0)and(n[j]<>'%') then
begin
for i:=j downto 1 do
begin
if n[i]='0' then
begin
delete(n,i,1);
k1:=k1-1;
end
else break;
end;
for i:=k1 downto 1 do
write(n[i]);
end;
if (x<>0)and(y=0)and(n[j]<>'%') then
begin
b:=copy(n,x+1,j-x);
c:=copy(n,1,j-length(b)-1);
k1:=length(b);
k2:=length(c);
for i:=length(c) downto 1 do
if c[i]='0' then
begin
if c='0' then
break;
delete(c,i,1);
k2:=k2-1;
end
else break;
for i:=k2 downto 1 do
write(c[i]);
write('.');
for i:=1 to length(b) do
if b[i]='0' then
begin
if b='0' then
break;
delete(b,l,1);
k1:=k1-1;
l:=2;
end
else break;
for i:=k1 downto 1 do
write(b[i]);
end;
if (x=0)and(y<>0)and(n[j]<>'%') then
begin
b:=copy(n,y+1,j-y);
c:=copy(n,1,j-length(b)-1);
k1:=length(b);
k2:=length(c);
for i:=length(c) downto 1 do
begin
if c[i]='0' then
begin
if c='0' then
break;
delete(c,i,1);
k2:=k2-1;
end
else break;
end;
for i:=k2 downto 1 do
write(c[i]);
write('/');
for i:=length(b) downto 1 do
if b[i]='0' then
begin
if b='0' then
break;
delete(b,i,1);
k1:=k1-1;
end
else break;
for i:=k1 downto 1 do
write(b[i]);
end;
if (x=0)and(y=0)and(n[j]='%') then
begin
b:=copy(n,1,j-1);
for i:=length(b) downto 1 do
begin
if b[i]='0' then
begin
delete(b,i,1);
k1:=k1-1;
end
else break;
end;
for i:=length(b) downto 1 do
write(n[i]);
write('0%');
end;
end.

