主题:2.有个题请大家帮解 先谢谢了...
zhangyuan
[专家分:630] 发布于 2006-12-17 15:25:00
2.有个题请大家帮解 先谢谢了...
编程实现输入一个字母,输出一个菱形.
该菱形中间一行由此字母组成..
其相邻的上下两行由它前面的一个字母组成,
按此规律.
直到字母A出现在第一行和最末行为止 (全部要大写呦~~~)
例如..输入D
输出:
A
B B B
C C C C C
D D D D D D D
C C C C C
B B B
A
回复列表 (共2个回复)
沙发
zhangyuan [专家分:630] 发布于 2006-12-17 15:26:00
我写了这么个程序:
program cxxx401;
var a,i,j,l:integer;
c:char;
begin
read(c);
a:=ord(c)-64;
for i:=1 to a do
begin
for l:=1 to (a-i)*2 do write(' ');
for j:=1 to i*2-1 do
write(chr(i+64),' ');
writeln;
end;
for i:=a-1 downto 1 do
begin
for l:=1 to (a-i)*2 do write(' ');
for j:=1 to i*2-1 do
write(chr(i+64),' ');
writeln;
end;
end.
板凳
雪光风剑 [专家分:27190] 发布于 2006-12-17 18:36:00
有更简单的实现
for i:=1 to 2*a-1 do
begin
for s:=1 to abs(a-i)*2 do write(' ');
for j:=1 to abs(a-i)*2-1 do
write(chr(abs(a-i)+64),' ');
writeln;
end;
我来回复