xtu oj 1381 表格

题目描述

用户输入一个表格的文本,请按如下格式输出:

1. 用'-'表示横线,'|'表示竖线,'+'表示横竖线的交点

2. 列宽为当前列最长字符串长度+2

3. 每列的对齐方式相同,一共有三种,分别为靠左对齐,居中对齐,靠右对齐,分别用'l','c','r'表示。 

    a. 靠左对齐,字符串左端距离边线1个空格;

    b. 居中对齐,字符串距离边线左和右空格数的差不超过1,且左边空格数小于等于右边空格数。

    c. 靠右对齐,字符串右端距离边线1个空格;

输入

第一行是一个整数T(1≤T≤100) , 表示样例的个数。

每个样例的第1行是两个整数r,c(1≤r,c≤10),表示表格的行和列数。

第2行是c个字符,字符只由'l','c','r'三种组成,依次表示对应列的对齐方式。

以后的r行,每行c个字符串,表示对应行列的单元格内容,字符串只含英文字母,数字,长度不超过20个字符。

 

输出

按格式依次输出每个样例的的结果。

 

样例输入

1

3 5

lcccr

Name English Math Chinese Total

Alice 100 85 75 260

Bob 85 100 85 270

样例输出

+-------+---------+------+---------+-------+

| Name | English | Math | Chinese | Total |

+-------+---------+------+---------+-------+

| Alice | 100 | 85 | 75 | 260 |

+-------+---------+------+---------+-------+

| Bob | 85 | 100 | 85 | 270 |

+-------+---------+------+---------+-------+

 

题目算不太难,主要是要想到把三维数组看成二维的字符串组,注释都放在代码里面了

 

#include
#include
char a[11][11][21];//三维数组存比较方便
void hang(int hong1[],int c)
{
    int i,j;
    printf("+");
    for(i=0;i

 

 

你可能感兴趣的:(c语言)