需要一些帮助来进行课堂练习:
我的任务是编写C ++代码以获得金字塔,在运行时,将在特定位置创建一个X和0的集合金字塔。截至目前,我有一个只有X的金字塔,但无法弄清楚如何在我想要的地方获得0。对此的任何帮助将不胜感激。
这是我跑步时应该得到的:
X
X X.
X 0 X.
X 0 0 X.
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;
}
答案 0 :(得分:2)
关闭,现在你需要在某处打印O
。
第一行很简单,只需打印一个“X
”。
然后对于那之后的每一行(除了最后一行),(提示,需要循环),你想要打印X
然后O
,直到你到达你的结尾希望打印另一个X
。为此,请考虑每行需要多少O
(提示,需要另一个循环)。
然后最后一行全是X
,并且不要忘记在每行的末尾添加换行符。
如果您需要进一步的帮助,请随时发表评论。
答案 1 :(得分:1)
#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;
因为我无法解释的好理由,所以have a read。不要忘记在事物之后放置括号(你的内部循环)。是的,它们不是技术上需要的,但是它们使它更具可读性,如果你改变它并忘记把它们放进去,它就会阻止你弄乱。
之后,它只是完成它,并添加一个检查以查看我们所处的位置,以便我们可以决定打印X
或O
。另外,我改变了它,以便高度变量。这意味着如果你想改变金字塔的高度,你只需要在一个地方改变它。
答案 2 :(得分:0)
当'j'介于1和i-1之间时,您只需要打印O.
提示:此检查应出现在“j”循环中。