我应该如何让我的for循环工作?for循环是全新的
How am I supposed to make my For-loop work? Brand new to For-loops
for (int h = 5; h >= 1; --h)
{
for (int ah = 1; ah <= 5; ++ah)
{
cout << "*";
}
cout << "n";
}
_getch();
我需要这个For循环显示五颗星,然后在下一行显示四颗星,然后是三颗星,然后是两颗星,然后是一颗星。但无论如何,我也想不明白。我是For loops的新手。我需要改变什么?这是所有允许的代码。
当一个问题太复杂时,把它分解成几个部分。
你要做的一件事是"写出一些星星的数量"。例如,你可以写一个函数
void write_stars_and_newline(int n)
{
for (int ah = 1; ah <= n; ++ah)
{
cout << "*";
}
cout << "n";
}
然后画出三角形
for (int h = 5; h >= 1; --h)
{
write_stars_and_newline(h);
}
现在,因为你需要保持嵌套的for
循环结构,你可以内联这个解决方案:你可以用它的内容替换对write_stars_and_newline
的调用,确保用你传递给它的值(h
)替换参数n
:
for (int h = 5; h >= 1; --h)
{
for (int ah = 1; ah <= h; ++ah)
{
cout << "*";
}
cout << "n";
}
一般来说,如果你已经写了第一个解决方案,你通常不应该做最后一步,除非你相信它使代码更容易阅读和理解。但是我们必须为完成你的任务做出让步。
看看这两个循环:
for (int h = 5; h >= 1; --h)
for (int ah = 1; ah <= 5; ++ah)
在这两个例子中,你迭代了5次,所以你得到了5 * 5 = 25颗星。你需要5 + 4 + 3 + 2 + 1 = 15颗星。要做到这一点,你只需要改变其中一个循环的一部分。会是什么呢?
应该可以。它将使内部for循环的次数根据外部for循环的值而改变。
for (int h = 5; h >= 1; --h)
{
for (int ah = 1; ah <= h; ++ah)
{
cout << "*";
}
cout << "n";
}
_getch();
相关文章:
- 如何在C++中从两个单独的for循环中添加两个数组
- 为什么我的for循环不能正确获取argv
- 在基于范围的for循环中使用结构化绑定声明
- 通过for循环使用用户输入填充列表
- 使用for循环检查数组中的重复项
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 为什么 const std::p air<K,V>& 在 std::map 上基于范围的 for 循环不起作用?
- 正在使用for循环创建QScatterSerie
- Python中的for循环与C++有何不同
- 在更改for循环的第三部分后,未使用for循环结果
- 在 for 循环中查找问题时遇到困难
- 嵌套for循环C++的问题(初学者)
- 如何用for循环在c++中生成单词三角形
- 如何在for循环中包含两个索引值的测试条件
- 带有多个独立参数的C++For循环
- 为什么我的程序在for循环中k=0时返回垃圾值
- 如何通过替换顺序代码的while循环来添加OpenMP for循环
- C++-For循环未执行
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- C++ 无法在字符数组中使用 for 循环打印字母模式