【发布时间】:2022-02-09 18:56:14
【问题描述】:
我正在尝试制作这个形状但卡在了这里。我尝试了不止一个计数器,但又失败了。
P p p p p p Q
p P p p p Q q
p p P p Q q q
p p p Q q q q
p p Q q Q q q
p Q q q q Q q
Q q q q q q Q
int main()
{
int loopLimit = 7;
int upperCharacter = 0;
do {
int loopCounter = 0;
do {
if (loopCounter == upperCharacter) std::cout << "P ";
else std::cout << "p ";
loopCounter = loopCounter + 1;
} while (loopCounter < loopLimit);
upperCharacter = upperCharacter + 1;
loopLimit = loopLimit - 1;
std::cout << "\n";
} while (loopLimit > 0);
}
我的代码当前输出:
P p p p p p p
p P p p p p
p p P p p
p p p P
p p p
p p
p
【问题讨论】:
-
你试过调试了吗? (甚至可以用笔和纸)。你的发现是什么?
-
我建议使用
for循环数固定7个循环,并考虑哪些字符位置应该逐行大写 -
我建议尝试以下方法,以免您将自己编程到角落。使用两个嵌套循环(我更喜欢
for,但如果您对do while更有信心,请继续使用)输出所有相同字母的正方形。之后不要更改这些循环。然后使用if-else在两个字母之间进行选择。然后使用if-elseif-else在三个之间进行选择。然后四个。我相信你应该在这里学习的技巧是创造条件。相互依赖的循环的复杂结构是另一种选择,但我猜它会让你的事情变得更难。
标签: c++ algorithm shapes square