C++ 金字塔 - 使用 X 和 0

C++ Pyramid - Using X's and 0's

本文关键字:使用 金字塔 C++      更新时间:2023-10-16

这里需要一些帮助来进行课堂练习:

我的任务是编写C++代码来获得一个金字塔,当运行时,它将在特定位置创建一个由X和0组成的金字塔。到目前为止,我有一个只有X的金字塔,但不知道如何将0放在我想要的地方。如有任何帮助,我们将不胜感激。

这是我运行时应该得到的:

X
X X
X 0 X
X 0 0 X
X X X X

这就是我迄今为止所拥有的:

#include <iostream>
using namespace std;
int main()
{
     int i, j;
     for (i = 0; i < 5; ++i)
     {
          for (j = 0; j <= i; ++j)
               cout << " X ";
          cout << endl;
     }
     return 0;
}

关闭,现在您需要在某处打印O

第一行很简单,只需打印一个"X"即可。

然后,对于之后的每一行(除了最后一行),(提示,需要循环),您希望打印一个X,然后打印O,直到到达要打印另一个X的末尾。为此,考虑每行需要多少O(提示,需要另一个循环)。

最后一行是X的,不要忘记在每行的末尾添加一行换行符。

如果您需要进一步的帮助,请随时发表评论。

#include <iostream>
//using namespace std; //Shouldn't really use this
int main()
{
 int i, j;
 int height = 5;
 for (i = 0; i < height; ++i)
 {
      for (j = 0; j <= i; ++j)
      { //Braces are great
           if (j == 0 || j == i || i == height - 1)   //If at either the 1st or last place in the row, or on the last row.
           {
               std::cout << " X ";
           }else                   //Otherwise
           {
               std::cout << " O ";
           }
      }
      std::cout << std::endl; //we could use "/n" here in place of std::endl
 }
 return 0;
}

好吧,有几件事,你不应该真的使用using namespace std;,因为有充分的理由,我不能在这里解释得很好,所以请阅读。不要忘记在东西后面放上大括号(你的内环)。是的,它们在技术上不需要,但它们使它更具可读性,如果你来更改它而忘记将其放入,它会阻止你搞砸。

在那之后,它只是完成它,并添加一个检查,看看我们处于哪个位置,这样我们就可以决定打印XO。另一件事是,我修改了它,使高度成为一个变量。这意味着,如果你想改变金字塔的高度,你只需要在一个地方改变它。

当'j'在1和i-1之间时,您只需要打印O。

提示:这个检查应该出现在你的"j"循环中。