Một chuỗi được gọi là có dạng phân số nếu nó có dạng như sau: Tử_số/Mẫu_số.
Ví dụ:
chuỗi ‘123/456’ biểu diễn cho phân số
chuỗi ‘1/12’ biểu diễn cho phân số
Yêu cầu: cho chuỗi có dạng phân số. Sau đó xuất ra dạng tối giản của phân số đó.
Input: Xâu s biểu diễn phân số
Ouput: tối giản của phân số đó.
Ví dụ:
Input Output
12/15 3/4
Nhận xét này đã bị tác giả xóa.
Trả lờiXóahình như k phải r bạn ơi
Xóanhìn lại inp vs out đi
Là xâu không phải số
Xóaprogram p;
Trả lờiXóauses crt;
var a,b,e,f:longint;
s,s1:string;
begin
clrscr;
write('nhap tu so '); readln(s);
write(' nhap mau so '); readln(s1);
val(s,a); val(s1,b);
e:=a;
f:=b;
while e<>f do if e>f then e:=e-f else f:=f-e;
if e<>1 then
begin
a:=a div e;
b:=b div e;
end;
write(a,'/',b);
readln;
end.
hình như là nhầm r bạn phải nhập một xâu chứa cả mẫu lẫn tử được cách bởi dấu "/" chứ k phải là nhập vào mẫu và tử với kiểu dữ liệu là chuỗi.
XóaUses crt;
Trả lờiXóaVar s,sc:string;
a,b,i:longint;
function min(a,b:longint):longint;
Begin
If a>b then exit(b) else exit(a);
end;
Begin
readln(s);
For i:=1 to length(s) do
If s[i]='/' then break;
sc:=copy(s,1,i-1);
Val(sc,a);
sc:=copy(s,i+1,length(s)-i+2);
Val(sc,b);
For i:=min(a,b) downto 1 do
If (a mod i=0)and(b mod i=0) then break;
Write(a div i,'/',b div i);
readln;
end.
uses crt;
Trả lờiXóavar a,b,s:string;
e,f,c,d,i:integer;
begin
clrscr;
readln(s);
for i:=1 to length(s) do
a:=copy(s,1,pos('/',s)-1);
b:=copy(s,pos('/',s)+1,length(s)-pos('/',s));
val(a,e);
val(b,f);
c:=e;
d:=f;
if c>d then c:=c-d else c:=d-c;
e:=e div c;
f:=f div c;
write(e,'/',f);
readln;
end.
bài này sửa lại bài trên
Xóa