主题:初学问题 求解
imikre
[专家分:0] 发布于 2005-07-13 11:12:00
我是初学者~
有个题请达人帮解 先谢谢了...
编程实现输入一个字母,输出一个菱形.
该菱形中间一行由此字母组成..
其相邻的上下两行由它前面的一个字母组成,
按此规律.
直到字母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个回复)
沙发
delphi6 [专家分:3450] 发布于 2005-07-13 13:17:00
program xxx;
begin
writeln(' a');
writeln(' bbb');
writeln(' ccccc');
writeln('ddddddd');
end. [em1]
板凳
zhsas [专家分:1680] 发布于 2005-07-13 13:36:00
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 楼
口口and枕头 [专家分:1550] 发布于 2005-07-13 21:37:00
一楼的完全是打胡乱说~~~
4 楼
cxxx401 [专家分:140] 发布于 2005-07-15 13:02: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.
5 楼
ikre [专家分:0] 发布于 2005-07-15 18:20:00
都可以的 多谢!!大家
我来回复