C++用for循环生成≤56且各位和>10的两位数 输出0错误如何解决
代码问题分析
- 输出语句放在for循环外部,仅会在循环全部执行完毕后输出最后一次迭代计算出的各位和,无法逐个输出符合要求的数字
- 缺失各位和大于10的条件判断逻辑,没有对遍历的两位数做过滤
- 未初始化
sum变量属于不规范写法,部分编译环境下会导致取值异常 - 当前逻辑仅计算了各位和,没有输出对应符合要求的两位数本身,不符合需求目标
修正后代码
#include <iostream> using namespace std; int main() { int sum; for (int i = 10; i <= 56; i++) { sum = (i / 10) + (i % 10); // 新增条件判断,仅输出符合要求的数字 if (sum > 10) { cout << i << endl; } } return 0; }
运行结果
代码执行后会依次输出所有符合要求的两位数:19、28、29、37、38、39、46、47、48、49、55、56。
内容的提问来源于stack exchange,提问作者Darin Hinze
相关产品推荐
相关产品推荐

