回覆列表
  • 1 # 使用者1465424935672

    注意,我的比1、2、3樓的都簡單,還是pascal

    var

    n,k,p,i,j:integer;

    begin

    readln(n);

    k:=ndiv2;//初始空格數

    p:=1;//初始列印字數

    fori:=1to(ndiv2)do//先做前一半行的列印

    begin

    forj:=1tokdowrite("");//輸出空格

    forj:=1topdowrite("*");//輸出星號

    writeln;//輸出回車

    dec(k);inc(p,2);//相當於k:=k-1;p:=p+2;

    //因為每增加一行,空格減少一個,星號也增加兩個

    end;

    fori:=1tondowrite("*");//輸出中間的星號

    writeln;//輸出回車

    //因為列印是對稱的,所以不用初始化k,p

    fori:=1to(ndiv2)do//再做後一半行的列印

    begin

    forj:=1tokdowrite("");//輸出空格

    forj:=1topdowrite("*");//輸出星號

    writeln;//輸出回車

    inc(k);dec(p,2);//相當於k:=k+1;p:=p-2;

    //因為每增加一行,空格增加少一個,星號也減少兩個

    end;

    end.

  • 中秋節和大豐收的關聯?
  • 約基奇29+12+8零失誤,季後賽史上第二位!排第一的巴朗-戴維斯當年表現如何?