题目描述
在中文 Windows 环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。
比如:
┌─┬─┐
│ │ │
├─┼─┤
│ │ │
└─┴─┘
其实,它是由如下的符号拼接的:
左上 = ┌
上 = ┬
右上 = ┐
左 = ├
中心 = ┼
右 = ┤
左下= └
下 = ┴
右下 = ┘
垂直 = │
水平 = ─
输入描述
输入一行两个数字 N,M\ (1 \leq N,M \leq 20)N,M (1≤N,M≤20),表示表格的行和列。
输出描述
输出对应大小的表格。
输入输出样例
示例
输入
3 2
输出
┌─┬─┐
│ │ │
├─┼─┤
│ │ │
├─┼─┤
│ │ │
└─┴─┘
注意事项:
"─"水平线这东西题目都没讲清楚怎么用,真的是。这题关键在于中间“十”左边要加一条“─”,到最后右边要补上一个“─”。而且“|”要在右边打一个空格变成“| ”。
代码如下
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, m;
cin >> n >> m;
//头
for (size_t j = 1; j <= m + 1; j++)
{
if (j == 1)
{
cout << "┌";
}
else if (j == m + 1)
{
cout << "─┐";
}
else
{
cout << "─┬";
}
}
cout<<endl;
//身体
for (size_t i = 1; i <= 2 * n - 1; i++)
{
for (size_t j = 1; j <= m + 1; j++)
{
if (i & 1 == 1)
{
cout << "│ ";
}
else
{
if (j == 1)
{
cout << "├";
}
else if (j == m + 1)
{
cout << "─┤";
}
else
{
cout << "─┼";
}
}
}
cout << endl;
}
//尾巴
for (size_t j = 1; j <= m + 1; j++)
{
if (j == 1)
{
cout << "└";
}
else if (j == m + 1)
{
cout << "─┘";
}
else
{
cout << "─┴";
}
}
return 0;
}