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

来源:互联网 发布:哪些软件可以找工作 编辑:程序博客网 时间:2024/06/05 19:22

标题:画表格

在中文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;}


 

 

 

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

 

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

/*标题:画表格在中文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;}


 

 

 


 

原创粉丝点击