编程输出下列图形,行数从键盘读入 当n=5时,* *** ***** *** *图形************* 是Pascal语言
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 11:34:00
![编程输出下列图形,行数从键盘读入 当n=5时,* *** ***** *** *图形************* 是Pascal语言](/uploads/image/z/1980970-34-0.jpg?t=%E7%BC%96%E7%A8%8B%E8%BE%93%E5%87%BA%E4%B8%8B%E5%88%97%E5%9B%BE%E5%BD%A2%2C%E8%A1%8C%E6%95%B0%E4%BB%8E%E9%94%AE%E7%9B%98%E8%AF%BB%E5%85%A5+%E5%BD%93n%3D5%E6%97%B6%2C%2A+%2A%2A%2A+%2A%2A%2A%2A%2A+%2A%2A%2A+%2A%E5%9B%BE%E5%BD%A2%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A%2A+%E6%98%AFPascal%E8%AF%AD%E8%A8%80)
编程输出下列图形,行数从键盘读入 当n=5时,* *** ***** *** *图形************* 是Pascal语言
编程输出下列图形,行数从键盘读入 当n=5时,* *** ***** *** *
图形*
***
*****
***
* 是Pascal语言
编程输出下列图形,行数从键盘读入 当n=5时,* *** ***** *** *图形************* 是Pascal语言
注意,我的比1、2、3楼的都简单,还是pascal
var
n,k,p,i,j:integer;
begin
readln(n);
k:=n div 2; //初始空格数
p:=1; //初始打印字数
for i:=1 to (n div 2) do //先做前一半行的打印
begin
for j:=1 to k do write(' '); //输出空格
for j:=1 to p do write('*'); //输出星号
writeln; //输出回车
dec(k); inc(p,2); //相当于k:=k-1; p:=p+2;
//因为每增加一行,空格减少一个,星号也增加两个
end;
for i:=1 to n do write('*'); //输出中间的星号
writeln; //输出回车
//因为打印是对称的,所以不用初始化k,p
for i:=1 to (n div 2) do //再做后一半行的打印
begin
for j:=1 to k do write(' '); //输出空格
for j:=1 to p do write('*'); //输出星号
writeln; //输出回车
inc(k); dec(p,2); //相当于k:=k+1; p:=p-2;
//因为每增加一行,空格增加少一个,星号也减少两个
end;
end.