我将如何水平打印更多块
How would I print more blocks horizontally?
#include <iostream>
using namespace std;
void TimesTable(int count)
{
for (int j = 1; j < 13; j++)
{
cout << count << " x " << j << " = " << count*j << " " << endl;
}
}
int main()
{
for (int count = 1; count < 13; count++)
{
TimesTable(count);
cout << endl;
}
system("Pause");
}
这打印
"1 x 1 = 1
1 x 2 = 2
2x1 = 2
2x2 = 4
3x1 = 3
3x2 = 6"
等等。但是我想做的是,与其让它们都向下打印成一条线,不如让它成块,所以,
"1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4 5 x 1 = 5
1 x 2 = 2 2 x 2 = 4 3 x 2 = 6 4 x 2 = 8 5 x 2 = 10"
等等。但显然,如果它没有水平转到 12,它看起来会更好,否则您必须抓住控制台窗口底部的栏并拖动以查看其他时间表。我希望它在块行 5 上达到 1,然后在块的第 2 行上变为 6 到 10,最后一行为 10 到 12。
是的,它只上升到 12 是随机的,但这是一个练习,我只是把它改编成其他怪物。
我想我可以在 for 循环中有多个 cout,但我发誓过去我见过有人用一种聪明的方式来传递变量,以便它并排打印一个星号块而不是假装这样做。
期望的结果(使用符号使其更容易(:
" ***** ^^^^^ &&&&&
***** ^^^^^ &&&&&
***** ^^^^^ &&&&& "
截至目前的结果:
" *****
*****
*****
^^^^^
^^^^^
^^^^^
&&&&&
&&&&&
&&&&& "
要设置列的格式,请使用 std::setw from <iomanip>
设置要用于输出操作的字段宽度。
现在。
在外面,迭代线条。
在内部,迭代列。
法典
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int cols_per_line = 5;
for (int line = 1; line < 13; line++)
{
for (int col = 1; col <= cols_per_line; col++)
{
cout << setw(2) << col << " x " << setw(2) << line << " = " << setw(3) << line*col << " ";
}
cout << endl;
}
}
输出
[root@rnrlabs ~]# ./a.out
1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4 5 x 1 = 5
1 x 2 = 2 2 x 2 = 4 3 x 2 = 6 4 x 2 = 8 5 x 2 = 10
1 x 3 = 3 2 x 3 = 6 3 x 3 = 9 4 x 3 = 12 5 x 3 = 15
1 x 4 = 4 2 x 4 = 8 3 x 4 = 12 4 x 4 = 16 5 x 4 = 20
1 x 5 = 5 2 x 5 = 10 3 x 5 = 15 4 x 5 = 20 5 x 5 = 25
1 x 6 = 6 2 x 6 = 12 3 x 6 = 18 4 x 6 = 24 5 x 6 = 30
1 x 7 = 7 2 x 7 = 14 3 x 7 = 21 4 x 7 = 28 5 x 7 = 35
1 x 8 = 8 2 x 8 = 16 3 x 8 = 24 4 x 8 = 32 5 x 8 = 40
1 x 9 = 9 2 x 9 = 18 3 x 9 = 27 4 x 9 = 36 5 x 9 = 45
1 x 10 = 10 2 x 10 = 20 3 x 10 = 30 4 x 10 = 40 5 x 10 = 50
1 x 11 = 11 2 x 11 = 22 3 x 11 = 33 4 x 11 = 44 5 x 11 = 55
1 x 12 = 12 2 x 12 = 24 3 x 12 = 36 4 x 12 = 48 5 x 12 = 60
只需删除时间表末尾的 endl 作为内部"for"并为拆分器添加另一个计数器说:
编辑:用计数更改j。
int splitter = 0;
for (int j = 1; j < 13; j++, splitter++)
{
cout << j << " x " << count << " = " << count*j << "t";
if (splitter == 5)
{
cout << endl;
splitter=-1;
}
}
1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4 5 x 1 = 5 6 x 1 = 6
7 x 1 = 7 8 x 1 = 8 9 x 1 = 9 10 x 1 = 10 11 x 1 = 11 12 x 1 = 12
1 x 2 = 2 2 x 2 = 4 3 x 2 = 6 4 x 2 = 8 5 x 2 = 10 6 x 2 = 12
7 x 2 = 14 8 x 2 = 16 9 x 2 = 18 10 x 2 = 20 11 x 2 = 22 12 x 2 = 24
1 x 3 = 3 2 x 3 = 6 3 x 3 = 9 4 x 3 = 12 5 x 3 = 15 6 x 3 = 18
7 x 3 = 21 8 x 3 = 24 9 x 3 = 27 10 x 3 = 30 11 x 3 = 33 12 x 3 = 36
1 x 4 = 4 2 x 4 = 8 3 x 4 = 12 4 x 4 = 16 5 x 4 = 20 6 x 4 = 24
7 x 4 = 28 8 x 4 = 32 9 x 4 = 36 10 x 4 = 40 11 x 4 = 44 12 x 4 = 48
1 x 5 = 5 2 x 5 = 10 3 x 5 = 15 4 x 5 = 20 5 x 5 = 25 6 x 5 = 30
7 x 5 = 35 8 x 5 = 40 9 x 5 = 45 10 x 5 = 50 11 x 5 = 55 12 x 5 = 60
1 x 6 = 6 2 x 6 = 12 3 x 6 = 18 4 x 6 = 24 5 x 6 = 30 6 x 6 = 36
7 x 6 = 42 8 x 6 = 48 9 x 6 = 54 10 x 6 = 60 11 x 6 = 66 12 x 6 = 72
1 x 7 = 7 2 x 7 = 14 3 x 7 = 21 4 x 7 = 28 5 x 7 = 35 6 x 7 = 42
7 x 7 = 49 8 x 7 = 56 9 x 7 = 63 10 x 7 = 70 11 x 7 = 77 12 x 7 = 84
1 x 8 = 8 2 x 8 = 16 3 x 8 = 24 4 x 8 = 32 5 x 8 = 40 6 x 8 = 48
7 x 8 = 56 8 x 8 = 64 9 x 8 = 72 10 x 8 = 80 11 x 8 = 88 12 x 8 = 96
1 x 9 = 9 2 x 9 = 18 3 x 9 = 27 4 x 9 = 36 5 x 9 = 45 6 x 9 = 54
7 x 9 = 63 8 x 9 = 72 9 x 9 = 81 10 x 9 = 90 11 x 9 = 99 12 x 9 = 108
1 x 10 = 10 2 x 10 = 20 3 x 10 = 30 4 x 10 = 40 5 x 10 = 50 6 x 10 = 60
7 x 10 = 70 8 x 10 = 80 9 x 10 = 90 10 x 10 = 100 11 x 10 = 110 12 x 10 = 120
1 x 11 = 11 2 x 11 = 22 3 x 11 = 33 4 x 11 = 44 5 x 11 = 55 6 x 11 = 66
7 x 11 = 77 8 x 11 = 88 9 x 11 = 99 10 x 11 = 110 11 x 11 = 121 12 x 11 = 132
1 x 12 = 12 2 x 12 = 24 3 x 12 = 36 4 x 12 = 48 5 x 12 = 60 6 x 12 = 72
7 x 12 = 84 8 x 12 = 96 9 x 12 = 108 10 x 12 = 120 11 x 12 = 132 12 x 12 = 144
相关文章:
- 如何循环打印顶点结构
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 如何在c++中打印目录
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在线编译器中的分段C++没有打印消息
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 如何将结构插入到集合中并打印集合的成员
- 在循环C++中指定字符串之后,不会打印该字符串
- 以螺旋方式打印矩阵的程序.(工作不好)
- QTableView:endMoveRows在模型中重置水平页眉大小
- 从控制台中删除最后打印的元素
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何仅使用对象名称打印特定于对象的成员
- 如何在c ++中以一行(水平)打印两个文件的数据?如给定的.这两种形式来自两个不同的文本文件
- 如何水平排列程序的打印输出循环而不重复
- C 如何水平打印大字母
- 为什么我的打印水平函数不起作用?
- 我将如何水平打印更多块
- 格式化:如何水平打印容器