C++与空间

问题描述:

星循环程序我想作: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 ::法院

我“会帮助你..而是因为它几乎圣诞节

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 mindriot

+0

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

+1

近乎圣诞节upvote – Ben

您从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; 
    } 
} 

只输出输出星号

给你之后的一个空间。

#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