作业帮 > 综合 > 作业

求助!一道free pascal题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/28 21:03:17
求助!一道free pascal题
有限小数化分数
输入一个小数(小数点后至多8位),将其化成分数,小数点后不会有多余的0。
输入:1.5
输出:3/2

var st:string;
r,q:real;
i,l,t,j,fz,fm,i1:longint;
begin
readln(st);
val(st,r);
i:=1;
while st[i]'.' do
inc(i);
inc(i);
l:=length(st)-i+1;
t:=1;
for j:=1 to l do
t:=t*10;
q:=r*t;
fz:=trunc(q);
fm:=t;
if fz>fm then
begin
for i:=2 to fz-1 do
if fz mod i=0 then
if fm mod i=0 then
begin
fz:=fz div i;
fm:=fm div i
end
end
else
if fz