2013蓝桥杯 画表格 【模拟赛】

画表格
在中文Windows环境下,控制台窗口中也可以用特殊符号拼出漂亮的表格来。

比如: 



其实,它是由如下的符号拼接的:
左上 = ┌
上 =  ┬
右上 =  ┐
左 =  ├
中心 =  ┼
右 =  ┤
左下=  └
下 =  ┴
右下 =  ┘
垂直 =  │
水平 =   ─
本题目要求编写一个程序,根据用户输入的行、列数画出相应的表格来。
例如用户输入:
3 2
则程序输出:      //我自己添加的 原题中是没有的:此图是便于理解的 打印出来的时候 不是这样的 也就是 x=m*2+1;y=n*2+1; 的原因

用户输入:


2 3
则程序输出:



思路:先输出第一小排和最后一排,中间的交替,每一排不一样的字符中间交替

如2行4列用题中所给的小字符组合的话,需要的字符是5行9列,其它几组也看看就发现规律了,自己画图想想

参考代码如下:

#include<stdio.h>  
int main()  
{  
    int i,j,n,m,x,y,k;  
    while(scanf("%d %d",&m,&n)!=EOF)  //m是行数 n是列数
    {  
       x=m*2+1;y=n*2+1;//上边已经提到为什么是这种情况 
       printf("┌");  
       for(i=2;i<=y-1;i++)  //打印列
       {  
          if(i%2==0)  
            printf("─");  
          else  
            printf("┬");   
       }  
       printf("┐");  
       puts("");  
         
       for(i=2;i<=x-1;i++)  
       {  
          if(i%2==0)  
          {  
             for(j=1;j<=y;j++)  
             {  
                  if(j%2!=0)  
                  printf("│");  
                  else  
                  printf("  ");  
             }  
             puts("");  
          }  
          else  
          {  
               printf("├");  
               for(k=2;k<=y-1;k++)  
               {  
                  if(k%2==0)  
                  printf("─");  
                  else  
                  printf("┼");   
               }  
               printf("┤");  
               puts("");    
          }  
       }  
       printf("└");  
       for(i=2;i<=y-1;i++)  
       {  
          if(i%2==0)  
          printf("─");  
          else  
          printf("┴");   
       }  
       printf("┘");  
       puts("");  
    }  
    return 0;  
}   

运行结果如下:

2013蓝桥杯 画表格 【模拟赛】_第1张图片

你可能感兴趣的:(算法,画表格,2013蓝桥杯)