1. 程式人生 > >c++程式設計題2

c++程式設計題2

使用雙重迴圈輸出下圖:

    *
   ***
  *****
 *******

思路一,每一行(i)先迴圈輸出空格,再迴圈輸出*號:

#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)
    {
        
        for(    j=i ; j<5 ;  j++  )  
        {
            printf(" ");    //輸出空格
        }

        for( k=0 ;  k<2*i-1 ;  k++     ) 
        {
            printf("*");   //每行輸出的*號
        }
        printf("\n");     //每次迴圈換行
    }
    return 0;
}

思路二,觀察題目發現空格出現在行(i)與列(i)有關係:j+i<=4和j-i>=4的地方,故得程式碼如下:

#include "stdafx.h"
#include <stdio.h>
int main()
{
    int i, j;
    for(i=1; i<5; i++)
    {
       
        for(    j=1 ;  j<8 ;  j++  )  
        {
            if(j+i<=4||j-i>=4){
                printf(" "); //輸出“ ”
            }else{
                printf("*"); //輸出“*”
            }
        }

        printf("\n");     //每次迴圈換行
    }
    return 0;
}