若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1317: 控制台表格

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,300

题目描述

画表格
在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看)
+——-+——+
|abc    |xyz=tt|
+——-+——+
|hellomm|t2    |
+——-+——+
本题目要求设计一个程序,把用户输入的内容用这种“准表格”的方式展现出来。

输入

用户输入的第一行是一个整数,表示接下来有多少行信息。接下来的每行由若干单元组成。单元间用逗号分开。

输出

程序输出:用表格方式重新展现的输入内容。

样例输入

3
cat,dog,good-luck
1,2,5
do not use,,that

样例输出

+----------+---+---------+
|cat       |dog|good-luck|
+----------+---+---------+
|1         |2  |5        |
+----------+---+---------+
|do not use|   |that     |
+----------+---+---------+

参考代码

#include <stdio.h>
#include <stdlib.h>
int main() 
{
    char ch[80][80];
    int i,j,k;
    int m,n;
    int t[80]={0};
    //存储每列最长字符串的长度
    scanf("%d",&n);
    getchar();
    int r;
    int key;
    int sign=0;
    //记录表格的列数
    for (i=0;i<n;i++) 
    {
        r=0;
        sign=0;
        gets(ch[i]);
        j=0;
        while(ch[i][j]!='')
        {
            if(ch[i][j]!=',')
                r++;
            else
            {
                    if(t[sign]<r)
                    t[sign]=r;
            r=0;
            sign++;
        }
        j++;
    }
    if(t[sign]<r)
        t[sign]=r;
    sign++;
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<sign;j++)
        {
            printf("+");
            for(k=0;k<t[j];k++)
                printf("-");
        }
        printf("+n");
        j=0;
        r=0;
        for(m=0;m<sign;m++)
        {
            printf("|");
        key=0;
        while(ch[i][j]!=','&&ch[i][j]!='')
        {
            printf("%c",ch[i][j]);
            j++;
            key++;
        }
        for(k=0;k<t[r]-key;k++)
        printf(" ");
        r++;
        j++;
         }
         printf("|n");
         }
         for(j=0;j<sign;j++)//输出表格的最底界
            {
                printf("+");
         for(k=0;k<t[j];k++)
            printf("-");
         }
         printf("+n");
         return 0;
         }

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Dreams孤独患者 原站点 Skip
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist