如何移除C++代码输出结果中数字1前面的多余句点?
你当前代码的逻辑是循环每次都先输出.再输出数字,所以第一个数字前必然会多输出一个.,只需要调整前缀点的输出逻辑即可,常见修改方式有两种:
- 方案1:单独输出第一个数,后续循环统一输出
."数字"格式
该方案逻辑简单,无额外判断开销,适合当前这种连续输出的场景:
cin >> i >> e; if (i <= e) { // 第一个数字前面不需要加前缀 cout << i; i++; while (i <= e) { cout << "." << i; i++; } }
- 方案2:新增标记位判断是否为第一个输出项
该方案灵活性更高,适合输出项判断逻辑更复杂的场景:
cin >> i >> e; bool is_first = true; while (i <= e) { if (is_first) { cout << i; is_first = false; } else { cout << "." << i; } i++; }
两种方案输入1 5时都可以得到预期输出1.2.3.4.5。
内容的提问来源于stack exchange,提问作者Hyuyeong
相关产品推荐
相关产品推荐

