2016-12-07 74 views
-3

星循環程序我想作:C++與空間

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

,但我不知道該怎麼做的間距,我能得到的最接近的是通過使用:

#include <iostream> 
#include <conio.h> 
using namespace std; 

int main(int argc, char** argv) { 
     int x, y; 
    for (y = 0 ; y <= 5 ; y ++){ 
    for (x = 0 ; x < y ; x++) { 
    cout<<" * "; 
    } 
    printf("\n"); 
} 
     getch(); 
    return 0; 
} 
+0

'的std ::法院<<的std :: string(N,'「);''輸出空間N',如果這是你的要求。 –

回答

2

我「會幫助你..而是因爲它幾乎聖誕節

int x, y; 
for (y = 0; y <= 5; y++) { 
    for (x = 0; x < y; x++) { 
    for (int i = 0; x == 0 && i < (5 - y); ++i) 
     cout << ' '; 
    cout << " *"; 
    } 
    cout << '\n'; 
} 

Example

+0

你也可以在下面運行最內層循環,同時在'i <(5-y)'和輸出'「*」'下面,這樣可以避免每行的尾部空間(像[this](http://ideone.com/) HtNTJ5))。 Merry幾乎是聖誕節:) – mindriot

+0

@mindriot同意了,我也更喜歡它。感謝:) –

+1

近乎聖誕節upvote – Ben

0

您從6個空格和一個星號開始。 接下來是5個空格和一個星號,後跟1個空格+ asterix 接下來是4個空格和一個星號,接着是2個空格+ asterix ...等等。你看到這種模式嗎?

#include <iostream> 

int main(int argc, char* argv[]) 
{ 
    for (int height = 6; height > 0; --height) 
    { 
     // Leading spaces 
     for (int i = 1; i < height; ++i) 
     { 
      std::cout << ' '; 
     } 
     // and the asterix 
     std::cout << '*'; 
     // then trailing space+asterix 
     for (int i = height; i < 6; ++i) 
     { 
      std::cout << " *"; 
     } 
     std::cout << std::endl; 
    } 
} 
0

只輸出輸出星號

給你之後的一個空間。

#include <iostream> 
#include <iomanip> 

int main() 
{ 
    while (true) 
    { 
     const char asterisk = '*'; 

     std::cout << "Enter a non-negative number (0 - exit): "; 

     unsigned int n; 

     if (not (std::cin >> n) or n == 0) break; 

     std::cout << '\n'; 

     for (unsigned int i = 0; i < n; i++) 
     { 
      std::cout << std::setw(n - i + 1); 
      for (unsigned int j = 0; j < i + 1; j++) 
      { 
       std::cout << asterisk << (j == i ? '\n' : ' '); 
      } 
     } 

     std::cout << std::endl; 
    } 

    return 0; 
} 

程序輸出可能類似於

Enter a non-negative number (0 - exit): 6 

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

Enter a non-negative number (0 - exit): 5 

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

Enter a non-negative number (0 - exit): 4 

    * 
    * * 
    * * * 
* * * * 

Enter a non-negative number (0 - exit): 3 

    * 
    * * 
* * * 

Enter a non-negative number (0 - exit): 2 

    * 
* * 

Enter a non-negative number (0 - exit): 1 

* 

Enter a non-negative number (0 - exit): 0