c語言做菱行的圖形?

main()

{

int_i,j;

for(i=1;i<6;i++)/*印換行*/

{for(j=1;j<=20-i;j++)/*20是一開始印空白的個數*/

printf(\"_\");

for(j=1;j<=i;j++)/*印**/

printf(\"*_\");

printf(\"\\n\");

}

結果是:

__________*

_________*_*

________*_*_*

_______*_*_*_*

______*_*_*_*_*

_______*_*_*_*

________*_*_*

_________*_*

__________*

(_)是表示空白

這是印正三角形(上面)的程式

我不會改成菱形的程式(我想了好久好久)

Update:

void main()

這是什麼意思

Update 2:

回傳值是指上下三角形不用回傳void main()

分開做嗎

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    我是用第一個最外層迴圈改的~差別不大~應該看的懂才對~~加油!!

    void main()

    {

    int i,j;

    for(i=1;i<6;i++)

    {

    for(j=1;j<=20-i;j++)

    printf(" ");

    for(j=1;j<=i;j++)

    printf("*");

    printf("\n");

    }

    for(i=5;i>=1;i--)

    {

    for(j=20-i+1;j>=1;j--)

    printf(" ");

    for(j=i-1;j>=1;j--)

    printf("*");

    printf("\n");

    }

    }

    2006-01-28 15:13:59 補充:

    你可以把他看成兩個三角形阿~一個上面一個是下面~

    2006-02-05 17:38:59 補充:

    void=>沒有回傳值的意思

    2006-02-06 13:25:53 補充:

    void main()的void代表當main()執行完畢後程式就結束~假如是int main()~就是當main()執行完畢後~傳回零表示正常執行完畢~

    Source(s): me
  • 1 decade ago

    #include <iostream.h>

    void ut(int num) // 上三角

    {

    char sp='_';

    char start='*';

    for(int i=0;i<=num;i++) {

    for(int j=i;j < num ; j++) cout << sp; //印出空白鍵

    for(int k=1;k<=2*i-1 ;k++) //印出 * 及_

    cout << ( (k & 1 )? start : sp );

    cout << endl;//換行

    }

    }

    void dt(int num) // 下三角

    {

    char sp='_';

    char start='*';

    for(int i=num;i>0;i--) {

    for(int j=i;j<=num;j++) cout << sp;

    for(int k=1;k<=2*i-1;k++)

    cout << ( (k & 1)? start:sp); // k and 1 為1 奇數印出 "*" 為零 表偶數 印出 "_"

    cout << endl;

    }

    }

    int main()

    {

    int num;

    cout << "請輸入 : "; //輸入 菱形對角的 數

    cin >> num;

    ut(num); //印上三角 例 4 上三角 1234 下三角為321

    dt(num-1); // 印下三角

    }

Still have questions? Get your answers by asking now.