2013蓝桥杯全国软件大赛C++模拟试题-画表格-解答 .

时间:2022-12-24 17:07:01

标题:画表格

在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。
比如: 
 ┌─┬─┐
 ├─┼─┤
 └─┴─┘ 
其实,它是由如下的符号拼接的:
 左上 = ┌
 上 =  ┬
 右上 =  ┐
 左 =  ├
 中心 =  ┼
 右 =  ┤
 左下=  └
 下 =  ┴
 右下 =  ┘


本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。

例如用户输入:
3 2
则程序输出:
┌─┬─┐
├─┼─┤
├─┼─┤
└─┴─┘

用户输入:
2 3
则程序输出:
┌─┬─┬─┐
├─┼─┼─┤
└─┴─┴─┘

#include <iostream>
using namespace std;
int main()
{
cout<<"要绘制表格,需要您输入对应的行数和列数"<<endl;
int low; //记录要画的表格的行数
cin>>low;
int lie; //记录要画的表格的列数
cin>>lie;
int i,j,k;
int zhong; //来记录除了表格两边中间需要输出的符号个数,与列数相关
for(i=1;i<=low+1;i++)
{
if(i==1) //表格第一行对应符号的输出
{ cout<<"┌";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"┬" ;
}
cout<<"┐";
cout<<endl;
}
else if(i==low+1) //表格最后一行对应符号的输出
{
{ cout<<"└";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"┴" ;
}
cout<<"┘";
cout<<endl;
}
}
else //表格中间行对应符号的输出
{
cout<<"├";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"┼" ;
}
cout<<"┤";
cout<<endl;
}

}


return 0;

}


 

 

2013蓝桥杯全国软件大赛C++模拟试题-画表格-解答 .

2013蓝桥杯全国软件大赛C++模拟试题-画表格-解答 .

2013蓝桥杯全国软件大赛C++模拟试题-画表格-解答 .

 

此题先自己在纸上画出每一行应该输出的符号,然后找出行列以及符号的对应关系。

 

上面的例子忘了输出垂直 = │ 水平 = ─ ,以下实例加以修改

/*
标题:画表格

在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。
比如:
┌──┬──┐
│ │ │
├──┼──┤
│ │ │
└──┴──┘
其实,它是由如下的符号拼接的:
左上 = ┌
上 = ┬
右上 = ┐
左 = ├
中心 = ┼
右 = ┤
左下= └
下 = ┴
右下 = ┘
垂直 = │
水平 = ─
本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。

例如用户输入:
3 2
则程序输出:
┌──┬──┐
│ │ │
├──┼──┤
│ │ │
├──┼──┤
│ │ │
└──┴──┘

用户输入:
2 3
则程序输出:
┌──┬──┬──┐
│ │ │ │
├──┼──┼──┤
│ │ │ │
└──┴──┴──┘


对于编程题目,要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI c++标准的类库。例如,不能使用CString类型(属于MFC类库)。

*/

#include <iostream>
using namespace std;
int main()
{
cout<<"要绘制表格,需要您输入对应的行数和列数"<<endl;
int low; //记录要画的表格的行数
cin>>low;
int lie; //记录要画的表格的列数
cin>>lie;
int i,j,k;
int zhong; //来记录除了表格两边中间需要输出的符号个数,与列数相关
for(i=1;i<=low+1;i++)
{
if(i==1) //表格第一行对应符号的输出
{ cout<<"┌─";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"┬─" ;
}
cout<<"┐";
cout<<endl;
cout<<"│ ";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"│ " ;
}
cout<<"│";
cout<<endl;
}
else if(i==low+1) //表格最后一行对应符号的输出
{
{ cout<<"└─";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"┴─" ;
}
cout<<"┘";
cout<<endl;
}
}
else //表格中间行对应符号的输出
{
cout<<"├─";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"┼─" ;
}
cout<<"┤";
cout<<endl;
cout<<"│ ";
zhong=lie-1;
for(k=1;k<=zhong;k++)
{
cout<<"│ " ;
}
cout<<"│";
cout<<endl;
}

}

return 0;

}


 2013蓝桥杯全国软件大赛C++模拟试题-画表格-解答 .

2013蓝桥杯全国软件大赛C++模拟试题-画表格-解答 .

2013蓝桥杯全国软件大赛C++模拟试题-画表格-解答 .