回 帖 发 新 帖 刷新版面

主题:初学问题 求解

我是初学者~
有个题请达人帮解 先谢谢了...

编程实现输入一个字母,输出一个菱形.
该菱形中间一行由此字母组成..
其相邻的上下两行由它前面的一个字母组成,
按此规律.
直到字母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

回复列表 (共5个回复)

沙发

program xxx;

begin
  
  writeln('   a');
  writeln('  bbb');
  writeln(' ccccc');
  writeln('ddddddd');
  
end.     [em1]

板凳

program zhs (input,output);
  var
    ch,i:char;
    m,n,j:integer;
  begin
    read(ch);
    n:=40;
    m:=0;
    for i:='a' to ch do
      begin
        n:=n-2;
        write('':n);
        m:=m+2;
        for j:=1 to m-1 do
          write(i:2);
        writeln
      end;
    for i:=pred(ch) downto 'a' do
      begin
        n:=n+2;
        write('':n);
        m:=m-2;
        for j:=m-1 downto 1 do
          write(i:2);
        writeln
      end
  end.

3 楼

一楼的完全是打胡乱说~~~

4 楼

我也写了一个程序.
也能符合要求.
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.

5 楼

都可以的 多谢!!大家

我来回复

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