回 帖 发 新 帖 刷新版面

主题:求助!怎样打印下面图案?

[em18]求助,用for循环语句怎样打印下面图案?

         *
       * * *
     ** * * *

回复列表 (共15个回复)

沙发

有谁愿意帮一下我吗?wuwuwu,真的不会啊。

板凳

是       *
       * * *
     ** * * *
还是     *
       * * *
     * * * * *

3 楼

用c可以吗?

4 楼

var
   i,j,k:integer;

begin
      read(n);*/表示边长*/
     for i:=1 to n do
        begin
          for k:=1 to i do write(' ');
          for j:=1 to 2*i-1 do
                write('*');
           writeln;
         end;
end.

5 楼

楼上的程序没有上机的吧,明显有错误耶!!!
首先N没有定义,如果N=5的话,你的程序就是:
*
  ***
   *****
    *******
     *********
用二重循环就行了.

6 楼

var
   i,j,k:integer;

begin
      read(n);*/表示边长*/
     for i:=1 to n do
        begin
          for k:=1 to i do write(' ');//把i改为3-i+5
          for j:=1 to 2*i-1 do
                write('*');
           writeln;
         end;
end.

7 楼

按楼上的改了还是没有到达题目的真正要求耶!!!就差一点了.
题目是:                         改了之后的是:
    *                                        (应该是改成3-i+n吧)
  * * *                               *
* * * * *                            ***
                                    *****
                                   *******
                                  *********

8 楼

我也来凑个热闹,帮忙改改,呵呵!
var
   i,j,k,n:integer;

begin
      read(n);*/表示边长*/
     for i:=1 to n do
        begin
          for k:=1 to i do write(' ');//把i改为3-i+5
          for j:=1 to 2*i-1 do
                write('*',' '); //加了个 ,' ' 这样就OK啦
           writeln;
         end;
end.

9 楼

楼上的也不对耶!!!但也有一定的成果.

10 楼

我打个正确的:
var
j,k:integer;
begin
for j:=1 to 3 do
begin
  for k:=1 to j*2-1 do
   if k=1 then write('*':4-j)
          else write('*');
  writeln;
end;
end.

我来回复

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