gpt4 book ai didi

C++ 问题 : 'break' within nested for loops not working as expected?

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:47 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来查找具有以下条件的特定 4 位数字:

  • 所有四个数字都不同。
  • 千位是十位的三倍。
  • 这个数字是奇数。
  • 各位数字之和是27。

我正在努力编写这个程序。我尝试嵌套 for 循环迭代每个数字直到满足条件(当 break 终止循环时),如下所示:

int a = 1;
int b = 1;
int c = 1;
int d = 1;

for (a = 1; a < 9; a++) {
for (b = 1; b < 9; b++) {
for (c = 1; c < 9; c++) {
for (d = 1; d < 9; d++) {

if (a + b + c + d == 27 && a == 3 * c && a != b && a != c
&& a != d && b!= c && b != d && c != d && d % 2 != 0) {
break;
}
}
}
}
}

我希望数字 a、b、c、d 能够为我提供满足上述 if 语句中所有条件的数字,从而中断。相反,abcd 始终为 9999。为什么会这样?我如何滥用 break?

最佳答案

break 只会跳出最内层的循环。因此,当您达到条件时,您只需进入 c 值的下一次迭代。

关于C++ 问题 : 'break' within nested for loops not working as expected?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57257069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com