1. 程式人生 > >《C語言及程式設計》實踐參考——輸出小星星(全解)

《C語言及程式設計》實踐參考——輸出小星星(全解)

(1)
要輸出的是:


程式碼:
#include <stdio.h>         
int main( )  
{  
    int i,j,n=6;   
    for(i=n;i>=1;--i) //一共要輸出n行  
    {  
        //輸出第i行  
        for(j=1; j<=2*i-1; ++j) //輸出2*i-1個星號  
            printf("*");  
        printf("\n");  
    }  
    return 0;     
}  


(2)
要輸出的是:


程式碼:


#include <stdio.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<=i; ++j) //輸出i個星號  
            printf("*");  
        printf("\n");  
    }  
    return 0;     
}  

(3)
要輸出的是:


程式碼:
#include <stdio.h>  
int main( )  
{  
    int i,j,n=6;   
    for(i=n;i>=1;--i) //i由大變小  
    {  
        //輸出第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");  
    }  
    return 0;  
}  

(4)
要輸出的是:


程式碼:
#include <stdio.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");  
    }  
    return 0;     
}  

(5)
要輸出的是:


程式碼:這一個稍微麻煩一些在於,第1行和最後一行單獨處理,而中間的n-2行則有規律:若干空格、1個星號、若干空格、1個星號
#include <stdio.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;     
}  

(6)
要輸出的是:


參考程式碼:
#include <stdio.h>         
int main( )  
{  
    int i,j,n=6;  //n代表上三角行數  
    //先輸出上三角  
    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;     
}