C++中结合break与continue操作符的代码修改需求:添加n<0时用break终止程序
解决方案
这里是修改后的代码,已经添加了n < 0时用break终止程序的逻辑:
using namespace std; int main() { int n; int total = 0; cout << "Enter a value: "; cin >> n; // 新增:检查输入是否为负数,用break终止程序 do { if (n < 0) { break; // 跳出这个do-while块,终止后续逻辑执行 } while (total + n <= 1000) { cout << total << " "; total = n + total; continue; } } while(false); // 仅执行一次的循环,让break可以合法生效 return 0; }
关键修改说明:
- 用
do-while(false)创建了一个“一次性执行块”,这样break语句就能合法跳出这个块,直接终止后续程序逻辑(毕竟break只能用于循环或switch结构)。 - 读取输入
n后立即做负数检查,一旦满足条件就触发break,程序直接跳到return 0结束运行。 - 原有的累加输出逻辑完全保留,只有当
n为非负数时才会正常执行。
如果你觉得do-while的写法有点绕,也可以换成无限循环的方式,效果是一样的:
using namespace std; int main() { int n; int total = 0; cout << "Enter a value: "; cin >> n; while(true) { if (n < 0) { break; } while (total + n <= 1000) { cout << total << " "; total = n + total; continue; } break; // 非负数时执行完逻辑后跳出外层循环 } return 0; }
内容的提问来源于stack exchange,提问作者svep
相关产品推荐
相关产品推荐

