C++使用cout输出乘法表内容无分隔连续拼接错误如何解决
问题根源
你的代码存在两处逻辑错误导致输出无分隔:
- for循环内部的输出语句没有在单次乘法表达式结尾追加要求的
,分隔符,所有表达式会直接首尾拼接 cout << endl;被放在for循环外部,仅会在全部内容输出完成后执行一次换行,不会起到分隔作用
修复后可用代码
#include <iostream> using namespace std; int main() { int i, integer; cout << "Please input an integer "; cin >> integer; for (i = 1; i <= 10; i = i + 1) { cout << i << " x " << integer << " = " << i * integer; // 最后一项不加逗号,直接换行 if (i == 10) { cout << endl; } else { cout << ", "; } } return 0; }
可选简化版本
如果允许最后一个表达式末尾带有多余逗号,可以直接简化循环内输出逻辑,不需要额外判断:
for (i = 1; i <= 10; i = i + 1) cout << i << " x " << integer << " = " << i * integer << ", "; cout << endl;
内容的提问来源于stack exchange,提问作者Eladar
相关产品推荐
相关产品推荐

