C++ 金字塔 - 使用 X 和 0
C++ Pyramid - Using X's and 0's
这里需要一些帮助来进行课堂练习:
我的任务是编写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;
,因为有充分的理由,我不能在这里解释得很好,所以请阅读。不要忘记在东西后面放上大括号(你的内环)。是的,它们在技术上不需要,但它们使它更具可读性,如果你来更改它而忘记将其放入,它会阻止你搞砸。
在那之后,它只是完成它,并添加一个检查,看看我们处于哪个位置,这样我们就可以决定打印X
或O
。另一件事是,我修改了它,使高度成为一个变量。这意味着,如果你想改变金字塔的高度,你只需要在一个地方改变它。
当'j'在1和i-1之间时,您只需要打印O。
提示:这个检查应该出现在你的"j"循环中。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- C++:TypeDef使用元组
- 使用std::multimap迭代器创建std::list
- 从不同线程使用int64的不同字节安全吗
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 为什么在全局范围内使用"extern int a"似乎不行?
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用Google Mock来模拟gettimeofday()
- 如何使用默认参数等选择模板专业化
- 为什么使用 "this" 指针调用派生成员函数?
- 使用新行和不使用新行读取文件
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 如何确定我已使用非编码文件到达 EOF?
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 使用CMake创建QML插件
- 使用strcpy将char数组的元素复制到另一个数组
- 在C++中制作金字塔 在程序中使用函数和循环
- 如何在 C++ 中使用 for 循环创建金字塔
- C++ 金字塔 - 使用 X 和 0