用的是循环语句,每次打出一行,同时每执行一次循环,前面的空格数加一. 再问: 能具体点吗? 再答: 讲主要部分: begin readln(a); 读取每一行*的个数 readln(b); 读取行数,同时注意,第一行前空格个数等于总行数减一 for i:=1 to b do 依次画b行 begin for j:=1 to b-i do write(' ');画本行前的空格,注意每一行的空格都会减少1 for j:=1 to a do write('*');画本行的* writeln; end; end.