這是我的中期。與大家交談,沒有人知道。老師沒有給出答案,我們在課堂上從來沒有做過這樣的事情。我很茫然。請救我互聯網。這是編程101給一些上下文。創建一個複雜的嵌套循環
這裏所說:
五種不同的線數來創建嵌套循環。在第一行打印0-9,第二個10-12,第三個5-7,第四個3-7,第五個13-17。
這是我的中期。與大家交談,沒有人知道。老師沒有給出答案,我們在課堂上從來沒有做過這樣的事情。我很茫然。請救我互聯網。這是編程101給一些上下文。創建一個複雜的嵌套循環
這裏所說:
五種不同的線數來創建嵌套循環。在第一行打印0-9,第二個10-12,第三個5-7,第四個3-7,第五個13-17。
您可以嵌套循環,並在每個嵌套循環之前和之後執行操作。
例如,下面的完整的程序:
#include <iostream>
int main() {
for (int i = 0; i < 2; i++)
{
std::cout << "OuterBefore";
for (int j = 0; j < 2; j++)
std::cout << "Inner";
std::cout << "OuterAfter";
}
std::cout << std::endl;
return 0;
}
將打印OuterBeforeInnerInnerOuterAfterOuterBeforeInnerInnerOuterAfter
。
這是技巧,你需要修改它來解決你的課堂問題。
感謝Steve的迴應,但是,我已經理解了。如果這只是我不會有問題的事情。我大部分都理解嵌套循環。這是'修改它來解決你的課堂問題',我似乎無法弄清楚。 –
我們給出了問題的以下要求:
在第一行打印0-9,第二個10-12,第三個5-7,第四3-7,第五13 -17。
和
如果打印出自己想要的東西,並嵌套循環受影響,她不在乎
利用這個有限的信息,我們可以做這樣的事情:
#include <iostream>
#include <array>
int main()
{
const auto starts = std::array<unsigned, 5>{ 0, 10, 5, 3, 13 };
const auto ends = std::array<unsigned, 5>{ 9, 12, 7, 7, 17 };
for(auto i = 0u; i < 5u; ++i)
{
for(auto j = starts[i]; j <= ends[i]; ++j)
{
std::cout << j << " ";
}
std::cout << std::endl;
}
return 0;
}
最簡單的答案通常是最好的,對不對?
這是一個單一的嵌套循環? 'for(...){for(...){}}'?或者在廣度和/或深度上嵌套多個循環? – ssell
未提供該信息。如果它打印出她想要的和嵌套的循環,她不在乎我相信。 –