C++如何将序列输出末尾的逗号替换为句号
C++输出格式调整实现方案
你遇到的问题是遍历输出数组元素时,统一追加的后缀导致末尾多了多余逗号,可通过以下两种常见方案修改:
方法1:循环内判断是否为最后一个元素
在输出前判断当前索引是否为数组最后一位,分别输出对应后缀即可:
#include <iostream> using namespace std; int main() { int fib[10]; fib[0] = 0; fib[1] = 1; for (int i = 2; i < 10; i++) { fib[i] = fib[i - 1] + fib[i - 2]; } for (int i = 0; i < 10; i++) { // 判断是否为最后一个元素 if (i == 9) { cout << fib[i] << "."; } else { cout << fib[i] << ", "; } } return 0; }
修改后输出结果:0, 1, 1, 2, 3, 5, 8, 13, 21, 34.
方法2:首尾分离输出(无额外判断,性能更优)
先输出第一个元素,后续元素统一在前面追加逗号空格,遍历结束后单独输出末尾句号,无需每次循环做条件判断:
#include <iostream> using namespace std; int main() { int fib[10]; fib[0] = 0; fib[1] = 1; for (int i = 2; i < 10; i++) { fib[i] = fib[i - 1] + fib[i - 2]; } // 先输出第一个元素 cout << fib[0]; for (int i = 1; i < 10; i++) { cout << ", " << fib[i]; } // 末尾追加句号 cout << "."; return 0; }
输出结果和方法1完全一致。
内容的提问来源于stack exchange,提问作者anon_misid
相关产品推荐
相关产品推荐

