第32講項目-輸出小星星(全解)

(一)

任務和代碼:

/*
*Copyright (c)2017,CSDN學院
*All rights reserved.
*文件名稱: main.c
*作 者: 伍志鵬
*完成日期: 2017年9月12日
*版本號: v1.0
*
*問題描述:  根據圖片來輸出小星星
*程序輸出:  輸出小星星
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j;
    for(i=6;i>=1;--i)   //一共是輸出多少行
    {
        //輸出第i行
        for(j=1;j<=2*i-1;++j)   //輸出2*i-1個星號
        {
            printf("*");
        }
        printf("\n");
    }
    printf("Hello world!\n");
    return 0;
}

運行結果:



(二)

任務和代碼:

/*
*Copyright (c)2017,CSDN學院
*All rights reserved.
*文件名稱: main.c
*作 者: 伍志鵬
*完成日期: 2017年9月12日
*版本號: v1.0
*
*問題描述:  根據圖片來輸出小星星
*程序輸出:  輸出小星星
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,k;
    char space=' ';
    for(i=1;i<=6;++i)   //一共輸出多少行
    {
        //輸出第i行
        for(k=1;k<=6-i;++k) //輸出6-i個空格
        {
            printf("%c",space);
        }
        for(j=1;j<=i;++j)   //輸出i個星號
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

運行結果:



(三)

任務和代碼:

/*
*Copyright (c)2017,CSDN學院
*All rights reserved.
*文件名稱: main.c
*作 者: 伍志鵬
*完成日期: 2017年9月12日
*版本號: v1.0
*
*問題描述:  根據圖片來輸出小星星
*程序輸出:  輸出小星星
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,k;
    char space=' ';
    for(i=6;i>=1;--i)  //i由大變小
    {
        for(j=1;j<=6-i;++j)  //關鍵:輸出的是6-i個空格
        {
            printf("%c",space);
        }
        for(k=1;k<=2*i-1;++k)   //關鍵:輸出的是2*i-1個星號
        {
            printf("*");
        }
        printf("\n");
    }
    printf("Hello world!\n");
    return 0;
}

運行結果:



(四)

任務和代碼:

/*
*Copyright (c)2017,CSDN學院
*All rights reserved.
*文件名稱: main.c
*作 者: 伍志鵬
*完成日期: 2017年9月12日
*版本號: v1.0
*
*問題描述:  根據圖片來輸出小星星
*程序輸出:  輸出小星星
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,k;
    char space=' ';
    for(i=6;i>=1;--i)  //i由大變小
    {
        for(j=1;j<=6-i;++j)  //關鍵:輸出的是6-i個空格
        {
            printf("%c",space);
        }
        for(k=1;k<=2*i-1;++k)   //關鍵:輸出的是2*i-1個星號
        {
            printf("*");
        }
        printf("\n");
    }
    printf("Hello world!\n");
    return 0;
}

運行結果:



(五)

任務和代碼:

/*
*Copyright (c)2017,CSDN學院
*All rights reserved.
*文件名稱: main.c
*作 者: 伍志鵬
*完成日期: 2017年9月12日
*版本號: v1.0
*
*問題描述:  根據圖片來輸出小星星
*程序輸出:  輸出小星星
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,n=6;
    //輸出第一行:n-1個空格和1個星號並換行
    for(j=1;j<=n-1;++j) //輸出n-i個空格
    {
        printf(" ");
    }
    printf("*\n");

    //再輸出中間的n-2行
    for(i=2;i<=n-1;++i) //一共要輸出n-2行
    {
        //輸出第i行
        for(j=1;j<=n-i;++j) //輸出n-i個空格
        {
            printf(" ");
        }
        printf("*");    //再輸出一個星號
        for(j=1; j<=2*i-3;++j)  //然後再輸出2*i-3個空格
        {
            printf(" ");
        }
        printf("*\n");   //輸出一個星號後本行結束,換行
    }

    //輸出最後一行:2*n-1個星號
    for(j=1;j<=2*n-1;++j)
    {
        printf("*");
    }
    printf("\n");

    return 0;
}

運行結果:



(六)

任務和代碼:

/*
*Copyright (c)2017,CSDN學院
*All rights reserved.
*文件名稱: main.c
*作 者: 伍志鵬
*完成日期: 2017年9月12日
*版本號: v1.0
*
*問題描述:  根據圖片來輸出小星星
*程序輸出:  輸出小星星
*/
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,n=6;
    //先輸出上三角
    for(i=1;i<=n;++i)   //輸出n行
    {
        //輸出第i行
        for(j=1;j<=n-i;++j) //輸出n-i個空格
        {
            printf(" ");
        }
        for(j=1;j<=2*i-1;++j)   //輸出2*i-1個星號
        {
            printf("*");
        }
        printf("\n");
    }

    //下面輸出下三角
    for(i=1;i<=n-1;++i) //輸出n-1行
    {
        //輸出第i行
        for(j=1;j<=i;++j)   //輸出i個空格
        {
            printf(" ");
        }
        for(j=1;j<=2*(n-i)-1;++j)   //輸出2*i-1個星號
        {
            printf("*");
        }
        printf("\n");
    }


    return 0;
}

運行結果:



總結:

在做這幾道題目的時候,可以能夠使自己對循環有更好的瞭解,雖然做的時間比較長,但是做出來後感覺挺好的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章