前言

  上一篇《C算法编程题(二)正螺旋

  写东西前还是喜欢吐槽点东西,要不然写的真还没意思,一直的想法是在博客园把自己上学和工作时候整理的东西写出来和大家分享,就像前面写的《T-Sql学习系列》,当然这些只是适合初学者,之后还有很多系列,写这些东西的目的:一是真的可以帮到那些初学者;二是自己回过头去回忆那些曾经的记忆,毕竟工作了,也没那个时间了。

  说到时间,真的还没时间,这段时间公司的项目要上线,都比较忙,真的好后悔前段时间没有去好好看看书,前两天买了两本书《CLR VIA C#》和《漫谈设计模式》,我的想法是现在学习设计模式的,说实话是真的想学,以后的路也是想走这一条。但是在博园看了一些设计模式相关的文章,发现设计模式有时候会涉及到底层的东西,大学时候只是学的C#这门语言,没怎么讲framework相关的东西,所以才买了那本书,希望可以恶补下,还有学习那个权限管理系统系列的计划,现在发现真的有很多事要做,不多说了,希望自己可以熬过这段时间。

  发现自己现在还真是有点啰嗦,打住~~~。

  今天说的这个题目和上一个差不多,也是通过一定的逻辑输出东西的。

程序要求

  程序描述:

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

程序实现

  看到这个题目,我们可能首先想到的是,这些符号用数组存储,我也是这样考虑的,就像上个正螺旋有四个方向一样,这个题目我们可以这样考虑,这个表格可以分为四个区域,上、中、下和中间空白区域,那我们可以用数组这样表示:

     char *on[] = { "┌", "─", "┬", "┐" };
char *center[] = { "├", "─", "┼", "┤" };
char *down[] = { "└", "─", "┴", "┘" };
char *space[] = { "│", " " };

  符号我们表示好了,这样我们就可以通过表格把区域分掉,来发现其中的规律。

  就会发现,其实输出的时候我们也可以分区域输出:顶部区域、中部区域和底部区域。顶部和底部区域是比较好输出的,我先贴下这两个区域的输出代码:

     //输出顶部字符
for (i = ; i < * lines + ; i++)
{
if (i == )
printf("%s",on[]);
else if (i == * lines)
printf("%s",on[]);
else
{
if (i % == )
printf("%s",on[]);
else
printf("%s",on[]);
}
}
printf("\n");
//输出底部字符
for (i = ; i < * lines + ; i++)
{
if (i == )
printf("%s",down[]);
else if (i == * lines)
printf("%s",down[]);
else
{
if (i % == )
printf("%s",down[]);
else
printf("%s",down[]);
}
}
printf("\n");

  rows和lines分别表示的是输出表格的行数和列数,顶部和底部区域输出的代码我就不多说了,大家结合表和代码就可以理解了,这里我说下中部区域。

  其实中部和上下区域差不多,只不过是中部和空白交替的,比如行数是3,那中部区域就是:空、中、空、中、空;如果行数是2,中部区域为:空、中、空;

  发现这个规律我们代码可以这样写;

     //输出中间字符
for (i = ; i < * rows - ; i++)
{
if ((i + ) % == )
{
for (j = ; j < * lines + ; j++)
{
if (j == )
printf("%s",center[]);
else if (j == * lines)
printf("%s",center[]);
else
{
if (j % == )
printf("%s",center[]);
else
printf("%s",center[]);
}
}
}
else
{
for (k = ; k < * lines + ; k++)
{
if ((k + ) % == )
printf("%s",space[]);
else
printf("%s",space[]);
}
}
printf("\n");
}

  中和空的输出逻辑和顶部和底部的输出逻辑是差不多的。

  这个题目如果你思路清晰的话,是很简单的。如果大家也有更好的实现方法,欢迎交流。。。

  完成程序代码:

 #include "stdio.h"
#include "string.h" void main()
{
char *on[] = { "┌", "─", "┬", "┐" };
char *center[] = { "├", "─", "┼", "┤" };
char *down[] = { "└", "─", "┴", "┘" };
char *space[] = { "│", " " };
int rows, lines;
int i, j, k;
//printf("%c",on[0]);
scanf("%d",&rows);
scanf("%d",&lines); //输出顶部字符
for (i = ; i < * lines + ; i++)
{
if (i == )
printf("%s",on[]);
else if (i == * lines)
printf("%s",on[]);
else
{
if (i % == )
printf("%s",on[]);
else
printf("%s",on[]);
}
}
printf("\n"); //输出中间字符
for (i = ; i < * rows - ; i++)
{
if ((i + ) % == )
{
for (j = ; j < * lines + ; j++)
{
if (j == )
printf("%s",center[]);
else if (j == * lines)
printf("%s",center[]);
else
{
if (j % == )
printf("%s",center[]);
else
printf("%s",center[]);
}
}
}
else
{
for (k = ; k < * lines + ; k++)
{
if ((k + ) % == )
printf("%s",space[]);
else
printf("%s",space[]);
}
}
printf("\n");
} //输出底部字符
for (i = ; i < * lines + ; i++)
{
if (i == )
printf("%s",down[]);
else if (i == * lines)
printf("%s",down[]);
else
{
if (i % == )
printf("%s",down[]);
else
printf("%s",down[]);
}
}
printf("\n");
}

  运行结果:

aaarticlea/png;base64,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" alt="" />

C算法编程题(三)画表格的更多相关文章

  1. C算法编程题系列

    我的编程开始(C) C算法编程题(一)扑克牌发牌 C算法编程题(二)正螺旋 C算法编程题(三)画表格 C算法编程题(四)上三角 C算法编程题(五)“E”的变换 C算法编程题(六)串的处理 C算法编程题 ...

  2. C算法编程题(四)上三角

    前言 上一篇<C算法编程题(三)画表格> 上几篇说的都是根据要求输出一些字符.图案等,今天就再说一个“上三角”,有点类似于第二篇说的正螺旋,输出的字符少了,但是逻辑稍微复杂了点. 程序描述 ...

  3. C算法编程题(五)“E”的变换

    前言 上一篇<C算法编程题(四)上三角> 插几句话,说说最近自己的状态,人家都说程序员经常失眠什么的,但是这几个月来,我从没有失眠过,当然是过了分手那段时期.每天的工作很忙,一个任务接一个 ...

  4. C算法编程题(六)串的处理

    前言 上一篇<C算法编程题(五)“E”的变换> 连续写了几篇有关图形输出的编程题,今天说下有关字符串的处理. 程序描述 在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求 ...

  5. C算法编程题(七)购物

    前言 上一篇<C算法编程题(六)串的处理> 有些朋友看过我写的这个算法编程题系列,都说你写的不是什么算法,也不是什么C++,大家也给我提出用一些C++特性去实现问题更方便些,在这里谢谢大家 ...

  6. C算法编程题(二)正螺旋

    前言 上一篇<C算法编程题(一)扑克牌发牌> 写东西前总是喜欢吐槽一些东西,还是多啰嗦几句吧,早上看了一篇博文<谈谈外企涨工资那些事>,里面楼主讲到外企公司包含的五类人,其实不 ...

  7. C算法编程题(一)扑克牌发牌

    前言 上周写<我的编程开始(C)>这篇文章的时候,说过有时间的话会写些算法编程的题目,可能是这两天周末过的太舒适了,忘记写了.下班了,还没回去,闲来无事就写下吧. 因为写C++的编程题和其 ...

  8. 需掌握 - JAVA算法编程题50题及答案

    [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题publi ...

  9. 面试题(C#算法编程题)

    1>用C#写一段选择排序算法,要求用自己的编程风格.答:private int min;    public void xuanZhe(int[] list)//选择排序    {        ...

随机推荐

  1. Ubuntu14.04或16.04下安装JDK1.8+Scala+Hadoop2.7.3+Spark2.0.2

    为了将Hadoop和Spark的安装简单化,今日写下此帖. 首先,要看手头有多少机器,要安装伪分布式的Hadoop+Spark还是完全分布式的,这里分别记录. 1. 伪分布式安装 伪分布式的Hadoo ...

  2. 在Excel中把横行与竖列进行置换、打勾号

    在Excel中把横行与竖列进行置换:复制要置换的单元,在新的单元上右键->选择性复制,会出现对话框,选中“置换”,即可在Excel中打勾号,左手按住ALT不放,右手在小键盘也就是右边的数字键盘依 ...

  3. Ubuntu 14.04--php的安装和配置

      更新源列表 打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入root用户的密码"--& ...

  4. jQuery模仿淘宝商品评价

    最近做项目要做个商品评价的功能,我直接就跑到淘宝那里去研究了,可看着晕晕的,还不知道他是怎么做的,于是把图抠了下来,自己写了一个,接下来就展示一下我是怎么做的,大家有不同的实现方法可要记得分享一下呀. ...

  5. 【codevs】刷题记录→_→(推荐看!)

    注:本文是我原先在csdn内写的一篇博文,现转到这里,两篇博文尽量同时更新. //#include<iostream->shuati> //define 为什么刷  学长☞hzwer ...

  6. C#用扩展方法进行自动生成添加删除对象转换的功能

    public static class ExtendedModel { #region 实体类的增删改查 #region 添加 public static string AddStr(this obj ...

  7. SDOI 2016 生成魔咒

    题目大意:一个字符串,刚开始为空,依次在后面添加一个字符,问每次添加完字符后本质不同的字符串有多少种 后缀自动机裸题,添加字符时,更新的结点个数即为新增加的子串 #include<bits/st ...

  8. sublime Text3及其插件的使用

    参考:Sublime Text 3 新手上路:必要的安裝.設定與基本使用教學 Sublime Text 相信是許多開發人員人心目中的最愛,然而對一個 Sublime Text 3 的新手來說,有什麼是 ...

  9. PostgreSQL配置优化

    硬件和系统配置 操作系统 Ubuntu13.04 系统位数 64 CPU Intel(R) Core(TM)2 Duo CPU 内存 4G 硬盘 Seagate ST2000DM001-1CH164 ...

  10. Android安全开发之ZIP文件目录遍历

    1.ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在“../”的字符串,攻击者可以利用多个“../”在解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件.如果被覆盖掉的文件是动态链接s ...