主题:横式,竖式怎么编?这道题我想了一夜啊
chenzhong
[专家分:250] 发布于 2005-08-11 18:39:00
题目如下:
键入a,b两个变量的值,打印输出a+b的横式与竖式.
麻烦众高手编出程序。谢谢啊!![em8][em8][em8]
回复列表 (共2个回复)
沙发
绿步甲 [专家分:1610] 发布于 2005-08-11 19:50:00
表忘了加分呦~~
var
a,b,c,i,d:integer;
function s (a:integer):integer;
var
n:integer;
begin
n:=0;
repeat
a:=a div 10;
n:=n+1;
until a=0;
s:=n;
end;
begin
read(a,b); d:=a+b;
writeln(a,'+',b,'=',d);
if s(a)<s(b)
then begin
c:=s(b)-s(a)+1;
writeln(' ':c,a);
writeln('+',b);
for i:=1 to s(b) do
write('--');writeln;if s(d)=s(b)
then writeln(' ',d);
end
else if s(a)=s(b)
then begin
writeln (' ',a);
writeln ('+',b);
for i:=1 to s(b) do
write('--');writeln;if s(d) =s(a)
then writeln(' ',d);
end
else begin
c:=s(a)-s(b)+1;
writeln(' ',a);
writeln('+',' ':c-1,b);
for i:=1 to s(a) do
write('--');writeln;if s(d)=s(a)
then writeln(' ',d);
end
end.
板凳
chenzhong [专家分:250] 发布于 2005-08-11 22:07:00
万分感谢,我给你+了30分
我来回复