我想让我的输出看起来像这样:
size time1 time2
-------------------------------
10 4 8
100 48 16
1000 2937 922
10000 123011 3902
100000 22407380 830722
我知道我需要使用 setw()
, setfill()
, 和 left
。然而,我的尝试一直给我错误的输出。以下是我的一个代码示例:
std::cout << "size" << std::setw(20) << "time" << std::setw(20) << "time2\n";
std::cout << std::setfill('-') << std::setw(60) << "-" << std::endl;
run = 10;
for(int i = 0; i < 5; i++) {
std::cout << run;
run *= 10;
std::cout << std::setw(20) << std::left << time1[i];
std::cout << std::setw(20) << std::left << time2[i] << "\n";
}
这里是输出结果:
size time1 time2
------------------------------------------------------------
103-------------------13------------------
100171-----------------199-----------------
100013183---------------667-----------------
10000670130--------------8205----------------
10000014030798-------------1403079888---------
我尝试改变使用 setw()
, setfill()
和 left
的顺序,但现在我只是盲目尝试。我也搜索了教程。就我所知,我遵循了说明,但仍然无法实现。
如何防止 setfill()
溢出?如何左对齐但使用 setw()
防止数字彼此重叠?