var c,ch:char;
n,i,j:integer;
begin
read(n);c:='A';ch:='A';
if (n>=1) and (n<=26) then
for i:=1 to n do
begin
write(c:10-i);
for j:=1 to 2*i-3 do
if (j<=(2*i-2)/2) then write(succ(ch))
else write(pred(ch));
if j>=1 then write(c);
writeln;
end;
end.
输入3
为什么输出的不是: A
ABA
ABCBA
而是: A
ABA
ABB@A
哪里出错了?
參考答案:1、write(c:10-i); //10鲁莽了吧,如果n大于20。。。。
2、succ,pred,只取到相邻的字符,而你的c,ch都没做增量。很正常嘛。