这道题好像还有点意思,最起码能做出个东西来看看,但是实现起来很简单。。。
在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。
比如:
┌─┬─┐
│ │ │
├─┼─┤
│ │ │
└─┴─┘
其实,它是由如下的符号拼接的:
左上 = ┌
上 = ┬
右上 = ┐
左 = ├
中心 = ┼
右 = ┤
左下= └
下 = ┴
右下 = ┘
垂直 = │
水平 = ─
本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。
例如用户输入:
3 2
则程序输出:
┌─┬─┐
│ │ │
├─┼─┤
│ │ │
├─┼─┤
│ │ │
└─┴─┘
用户输入:
2 3
则程序输出:
┌─┬─┬─┐
│ │ │ │
├─┼─┼─┤
│ │ │ │
└─┴─┴─┘
#include <iostream>
#include <stdio.h>
#include <memory.h>
#include <cmath>
using namespace std;
#define EN cout<<endl;
#define SP cout<<' ';
int main (){
int m,n;
cin>>m>>n;
for(int i=0;i<m*2+1;i++){
if(i==0){
for(int j=0;j<2*n+1;j++){
if(j==0) { printf("┌"); continue; }
if(j==2*n){ printf("┐"); continue; }
else
if(j%2) printf("─");
else printf("┬");
}
cout<<endl;
continue;
}
if(i==2*m){
for(int j=0;j<2*n+1;j++){
if(j==0) { printf("└"); continue; }
if(j==2*n){ printf("┘"); continue; }
else
if(j%2) printf("─");
else printf("┴");
}
cout<<endl;
continue;
}
else
if(i%2==0){
for(int j=0;j<2*n+1;j++){
if(j==0) { printf("├"); continue; }
if(j==2*n) {printf("┤"); continue; }
else
if(j%2==0) printf("┼");
else printf("─");
}
cout<<endl;
}
else{
for(int j=0;j<2*n+1;j++){
if(j%2==0) printf("│");
else printf(" ");
}
cout<<endl;
}
}
return 0;
}
浙公网安备 33010602011771号