回覆列表
  • 1 # 使用者5916393697425

    i表示行號,打一行i 就加1

    j表示某一行需要列印空格的數目

    k表示某一行需要列印‘*’的數目

    這個程式打了一個7行的菱形,我把程式改一下,把i,j,k的計數都從1開始,看起來會比較直觀

    #include <stdio.h>

    void main()

    {

    int i,j,k;

    for(i=1;i<=4;i++) //先列印前4行

    {

    for(j=1;j<=4-i;j++) //每一行先列印需要列印的空格,空格數為(4 - 行號),譬如第1行,需要打4-1個空格,第2行需要打4-2個空格

    printf(" ");

    for(k=1;k<=2*i -1;k++) //打完空格打‘*",每行需要列印2倍行號+1個,譬如第1行列印2*1 - 1個,第2行列印2*2 - 1=3個

    printf("*");

    printf("\n");

    }

    for(i=1;i<=3;i++) //然後列印後面三行,行號從1開始計算

    {

    for(j=1;j<=i;j++) //每行列印空格數為行號數,譬如第1行列印1個,第2行列印2個

    printf(" ");

    for(k=1;k<=7-2*i;k++) //每行列印7-2*i個’*",譬如第1行列印7-2*1=5個,第2行列印7-2*2=3個

    printf("*");

    printf("\n");

    }

    }

  • 中秋節和大豐收的關聯?
  • 仿寫《我想》的詩有哪些?