1、
const max=3;
var
i,j,k,n:integer;
begin
n:=-1;
for i:=1 to max do begin
for k:=1 to max+1-i do write(' ');
for j:=1 to i*2-1 do begin
inc(n);
write(chr(ord('a')+n));
end;
writeln;
end;
end.
这种题目就是训练循环语句用的。循环的关键就是弄清楚数量与行号、列号(这道题不需要考虑)的关系。
2、
var
sum,now:real;
i:integer;
begin
sum:=100;
now:=100;
for i:=1 to 19 do begin
sum:=sum+now;
now:=now/2;
end;
writeln(sum:0:0);
end.
这个题目,你只要先模拟一下前几次碰地就不难发现它的规律了。
第一次碰前,运动100
第二次碰前,运动100
第三次碰前,运动50
第四次碰前,运动25
……
所以从第一次碰后,每两次碰地之间运动的路程是一个等比数列。
然后就可以编程了。
var
i,j,k,max,n:integer;
begin
readln(max);n:=97;
for i:=1 to max do begin
for k:=1 to max+1-i do write(' ');
for j:=1 to i*2-1 do begin
inc(n);
write(chr(n));
end;
writeln;
end;
end.
{循环语句问题}