回 帖 发 新 帖 刷新版面

主题:2.有个题请大家帮解 先谢谢了...

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个回复)

沙发

我写了这么个程序:
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.

板凳

有更简单的实现
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;

我来回复

您尚未登录,请登录后再回复。点此登录或注册