Ý tưởng:
Có 2 cách:
-Sử dung cấu mod/ div 10;
- Đổi thành xâu rồi tách;
Cách làm:
Dùng Procedure để gọ thì sẽ tiện, ngắn gọn hơn.
C1.Sử dung cấu mod/ div 10:
uses crt;
var I,N:LONGINT; A:array[1..100000]of longint;
procedure tach(a:longint);
var s,c:string; t:byte;
begin
s:='';
while a<>0 do
begin
t:=a mod 10;
str(t,c);
s:=c+' '+s;
a:=a div 10;
t:=t div 10;
end;
writeln(s);
end;
begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
for i:=1 to n do begin write(a[i],': '); tach(A[i]); end;
readln
end.
C2. Đổi thành xâu rồi tách:
uses crt;
var I,N:LONGINT; A:array[1..100000]of longint;
procedure tach(a:longint);
var s:string; i:longint;
begin
str(a,s);
for i:=1 to length(S) do write(s[i],' ');
end;
begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end;
for i:=1 to n do begin write(a[i],': '); tach(A[i]); writeln;end;
readln
end.