具有空间的C++星号循环程序

具有空间的C++星号循环程序,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 +

我想做:

      *
     * *
    * * *
   * * * *
  * * * * *
 * * * * * *
但我不知道如何设置间距,我能得到的最接近的间距是使用:

#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;
}

我会帮你的。。但就因为快到圣诞节了

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';
}

从6个空格和一个星号开始。 接下来是5个空格和一个星号,后面是1个空格+星号 接下来是4个空格和一个星号,然后是2个空格+星号 ... 等等你看到图案了吗

#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;
}

std::cout您也可以在i<5-y时运行最里面的循环,并在下面输出*,这样可以避免每行上的尾随空格。圣诞快乐:@mindriot同意,我也更喜欢它。谢谢:快投票了Christmas@MarcoA. 这是一个不应该编写代码的示例吗
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