1

这是预期的输出:

COUNT | WORD 
------+------
   1  | .3
   1  | .3.4
   1  | 3
   2  | 12.34
   1  | test1.12.34
   3  | this

这是我的正确代码:

std::cout << "COUNT | WORD" << '\n';
std::cout << "------+------" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << ".3" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << ".3.4" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << "3" << '\n';
std::cout << std::setw(4) << "2" << std::setw(3) << '|' <<  std::setw(3) << "12.34" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << "test1.12.34" << '\n';
std::cout << std::setw(4) << "3" << std::setw(3) << '|' <<  std::setw(3) << "this" << '\n';

不幸的是,我的输出很乱

COUNT | WORD
------+------
   1  | .3
   1  |.3.4
   1  |  3
   2  |12.34
   1  |test1.12.34
   2  |this

谁能建议我解决这个问题。谢谢

4

3 回答 3

2

而不是拥有

std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << ".3" << '\n';

对于每一行,在“|”之后添加一个空格 特点:

std::cout << std::setw(4) << "1" << std::setw(3) << "| " <<  std::setw(3) << ".3" << '\n';
于 2012-05-02T21:28:18.290 回答
2

为什么不是这个::

std::cout << "COUNT | WORD" << '\n';
std::cout << "------+------" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << ".3" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << ".3.4" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << "3" << '\n';
std::cout << std::setw(4) << "2" << std::setw(3) << '|' <<  ' ' << "12.34" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << "test1.12.34" << '\n';
std::cout << std::setw(4) << "3" << std::setw(3) << '|' <<  ' ' << "this" << '\n';
于 2012-05-02T21:29:57.210 回答
0

这样做将设置左侧填充字符。

cout.fill('-');
cout.width(40);
cout<< "LINE1" <<endl;

cout.fill('-');
cout.width(40);
cout<< 3 <<endl;

cout.fill('-');
cout.width(40);
cout<< 3.4 <<endl;

cout.fill('-');
cout.width(40);
cout<< "TEST " << 12.34 <<endl;
于 2012-05-02T21:38:47.853 回答