C语言做一个表格的程序,用C语言画个简单表格

今天见到个题目,就把他做了,题目如下:

在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看)

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

|abc      |xyz=tt|

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

|hellomm|t2      |

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

本题目要求设计一个程序,把用户输入的内容用这种“准表格”的方式展现出来。具体的要求是:

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

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

例如:

用户输入:

3

cat,dog,good-luck

1,2,5

do not use,,that

则程序输出:(word文档中可能不整齐,拷贝到记事本中看)

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

|cat           |dog|good-luck|

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

|1              |2   |5            |

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

|do not use|     |that        |

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

从中不难看出:

两个连续的逗号表示中间有一个内容为空的单元

列的数目由最大的单元数的那行决定

列的宽度由同列的最宽的单元决定

单元格中的信息左对齐

可以假设:用户输入的最大行数为30,可能的最多列数为40。

代码如下:

#include#include

char S[100][1000]={

' '};//声明表为全局变量int s1=0;

void chart(int n,int a[],int m);

int main()

{

int n;

int M1[40]={

0},M2[40]={

0},M3[40][100]={

0};

int i,j,k,k1,k2,max=0,col,l;

char s[30][1000];

scanf("%d",&n);

getchar();//注意,必须得有这个来接收回车符

// for(i=0;igets(s[i]);

//求最大列数 for(i=0;i{

l=strlen(s[i]);

for(j=0;j{

if(s[i][j]==',')

M1[i]++;

}

if(M1[i]>max)

{

max=M1[i];

}

}

col=++max;

//求每列最大宽度

//1.先求每个单元的长度,赋给M3[i][j]中 for(i=0;i{

l=strlen(s[i]);

k=0;

for(j=0;j{

if(s[i][j]!=',')

{

M3[i][k]++;

}

if(s[i][j]==',')

k++;

} //for2 }//for1//2.找每列最大的赋予M2[] for(j=0;j {

max=0;

for(i=0;i{

if(M3[i][j]>max)

max=M3[i][j];

}

M2[j]=max;

}

//表格 chart(n,M2,col);

//输入数据 for(i=0;i{

k1=0;

k2=0;

k=0;

l=strlen(s[i]);

for(j=0;j{

S[2*i+1][k2+1]=s[i][j];

if(s[i][j+1]==',')

{

k1=k1+M2[k]+1;

k2=k1;

k++;

j++;

}

else

k2++;

}

}

//输出表格 for(i=0;i<=2*n;i++)

{

for(j=0;jprintf("%c",S[i][j]);

printf("\n");

}

return 0;

}

void chart(int n,int a[],int m)//行数 每列的最大长度数组{

int i,j,k;

int s;

s1=m+1;

for(i=0;is1+=a[i];

for(i=0;i<=2*n;i++)

{

//输出奇数行 if(i%2==0)

{

s=0;

k=0;

for(j=0;j{

if(j==s)

{

S[i][j]='+';

s+=a[k];

s++;

k++;

}

else

S[i][j]='-';

}//for } //if//输出偶数行 else

{

s=0;

k=0;

for(j=0;j{

if(j==s)

{

S[i][j]='|';

s+=a[k];

s++;

k++;

}

}

}

} //for

}

OK!

一个例子如下,O(∩_∩)O~

24b25ea3c2b8b6f89f7e81ecdbb17f9a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习框架PyTorch一书的学习-第四章-神经网络工具箱nn

参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码&#xff0c;下面是本人的笔记 本章介绍的nn模块是构建与autograd之上的神经网络模块 除了nn外还会介绍神经网络中常用的工具&#xff0c;比如优化器optim、初始化init等 1.nn.Mod…

高级语言程序设计c 华南理工,华南理工大学高级语言程序设计(C)期末练习题

.. 《高级语言程序设计(C)》练习题一&#xff0e;单项选择题1.用C语言编制的源程序要变为目标程序必须要经过( )。(a) 解释(b) 汇编(c) 编辑(d) 编译2. 执行C程序时出现的“溢出”错误属于( )错误。(a) 编译(b) 连接(c) 运行(d) 逻辑3. 按C标识符的语法规定&#xff0c;合法的标…

bevfusion 学习笔记

目录 tensorrt ros部署&#xff1a; 也依赖ros2 c ros2安装指导&#xff1a; 相机标定工具源码&#xff1a; 官方github&#xff0c;部分模型开源 tensorrt ros部署&#xff1a; https://github.com/linClubs/BEVFusion-ROS-TensorRT 也依赖ros2 c GitHub - newintelli…

地铁售票系统设计思想及部分代码

设计思想&#xff1a;地铁售票系统的关键点在于换乘&#xff0c;所以首先要分为换乘和不换乘两种情况。不换乘比较简单&#xff0c;通过起始站名和终点站名查询他们的num&#xff0c;然后list打包输出到jsp就可以。换乘的话就先要找到两条线路&#xff0c;找到两条线路的交点也…

数字带通滤波器c语言程序,C语言编写FIR数字低通滤波器

主要是获取滤波器参数和卷积算法&#xff0c;参数根据自己的滤波器特性用matlab上面的一个fdatool工具配置生成&#xff0c;然后将这些参数写入程序里面即可(参数可适当的乘以一个系数&#xff0c;对滤波没任何影响)&#xff0c;我这里Fs 2k&#xff0c;Fpass 1k,Fstop 2k&am…

浏览器拦截跨域请求处理方法(已阻止跨源请求:同源策略禁止读取远程资源)

原文地址&#xff1a;http://my.oschina.net/lichaoqiang/blog/317823 在浏览器请求中&#xff0c;出现跨域访问资源的问题&#xff0c;我们肯定会遇到。如果跨域请求被阻止&#xff0c;有可能导致css、js 、ajax请求、font字体等资源出现无法正常访问的问题。接下来&#xff0…

C程序设计语言上机13,《高级语言程序设计》北大上机试题(十三)

C语言上机试题&#xff1a;131&#xff0e;题目&#xff1a;编一C程序&#xff0c;其功能是能把读入一串英文单词(以单词end做为结束标记&#xff0c;单个单词字母数≤20)&#xff0c;并按字典顺序输出。(注&#xff1a;可执行程序命名为e13_1.exe)程序设计&#xff1a;#includ…

Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程

即时通讯&#xff1a;支持好友&#xff0c;群组&#xff0c;发图片、文件&#xff0c;消息声音提醒&#xff0c;离线消息&#xff0c;保留聊天记录 &#xff08;即时聊天功能支持手机端&#xff0c;详情下面有截图&#xff09;工作流模块-------------------------------------…

c语言变量强制转换,C语言——“=”中的强制类型转换

前言&#xff1a;在写程序时候遇到了一些关于数据类型转换的问题&#xff0c;编译器也没有报错&#xff0c;运行时才发现数据不对&#xff0c;找bug花费了很多时间&#xff0c;但最终也发现是一些细节上的问题&#xff0c;特地在这里整理出一篇文章记录。实验环境&#xff1a;芯…

Spring框架IOC和AOP的实现原理(概念)

IoC&#xff08;Inversion of Control&#xff09; (1). IoC&#xff08;Inversion of Control&#xff09;是指容器控制程序对象之间的关系&#xff0c;而不是传统实现中&#xff0c;由程序代码直接操控。控制权由应用代码中转到了外部容器&#xff0c;控制权的转移是所谓反…

面向视频的全新AI架构 —— 阿里云智能视觉技术全解

2019独角兽企业重金招聘Python工程师标准>>> 我们都知道&#xff0c;AI技术正在以可见的速度被应用于各行各业&#xff0c;然而绝大部分业务场景想应用AI技术&#xff0c;都需要算法工程师根据自身业务的标注数据&#xff0c;来进行单独训练&#xff0c;才能打磨出合…

c语言巩固,巩固一下C语言中的指针

写了几段代码&#xff0c;再巩固一下C语言知识。我的记忆方法跟文章中的不一样。*是取值符号&#xff0c;&取地址符号&#xff0c;()限定子表达式的符号,[]是按索引取数组乘员的符号。优先级方面()>[]>*,&。对于int *(*p(int))[3]; 。我是这么分析的&#xff1a;…

c语言程序设计课程设计学生信息管理系统,C语言程序设计课程设计报告----学生信息管理系统.doc...

河南理工大学计算机学院《C语言程序设计》课程设计报告题目&#xff1a; 学生信息管理系统专业&#xff1a; 计算机科学与技术班级&#xff1a; 计算机XX班学号&#xff1a; 311009033232姓名&#xff1a; *****日期&#xff1a;2012年3月21日1.2意义熟悉C语言程序的编程环境、…

【转】利用python的KMeans和PCA包实现聚类算法

转自&#xff1a;https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目&#xff1a; 通过给出的驾驶员行为数据&#xff08;trip.csv&#xff09;&#xff0c;对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型&#xff0c;激进类型和超冷静型3类 。 利用Python的s…

c 语言str.size,C/C++ strlen(str)和str.length()和str.size()的区别

strlen(str)和str.length()和str.size()都可以求字符串长度,返回字符串中字符的长度&#xff0c;不包括‘/0’。其中str.length()和str.size()是同义词&#xff0c;返回同样的值。strlen(str)是用于求字符数组的长度&#xff0c;其参数是char*。#include #include using namesp…

想跑次高频策略?快来看看Numpy处理真格量化tick数据的技巧

使用澎博真格量化时&#xff0c;很多用户希望用numpy处理tick数据&#xff0c;包括tick数据的留存和运算。 这里有一些技巧。 因为tick数据量比较大&#xff0c;为了降低系统的运算负担&#xff0c;我们不应该在内存里保存大量tick数据。 比如我们只想保存过去10个tick。 可以在…

if语句写阶跃函数C语言,C语言第四章分支语句.ppt

C语言第四章分支语句.ppt例&#xff1a; 输入三个实数&#xff0c;按从小到大的顺序输出。 main( ) {float a,b,c,t; scanf(“%f,%f,%f ”,&a,&b,&c); if (a>b) { ta; ab; bt; } if (a>c) { ta; ac; ct; } if (b>c) { tb; bc; ct; } printf(“%5.2f,%5.2f…

日本显示屏巨头JDI不敌业务压力,宣布接受中方注资...

本次10亿美元的融资金额中&#xff0c;其中7.2亿美元据传来自中国丝绸之路基金。 最初&#xff0c;在液晶领域日本企业一直都占据着主要市场&#xff0c;如夏普、NEC、东芝等。后来随着韩国三星、LG的强势进入&#xff0c;日本企业的生存空间开始被抢占&#xff0c;现如今中国…

c语言中 d 1是啥意思,空开D/C是什么意思?终于有人把它说清楚了!

原标题&#xff1a;空开D/C是什么意思&#xff1f;终于有人把它说清楚了&#xff01;空气开关是每个人家里必用的东西&#xff0c;但是你到五金店一看&#xff0c;大大小小的开关插座多了去&#xff0c;让人眼花缭乱。怎么选呢&#xff1f;空开有各种字母型号&#xff0c;这些字…

微信小程序开发 | 官方问答精选

2019独角兽企业重金招聘Python工程师标准>>> SF问答精选《七》 多组件显示与隐藏如何实现、function中的...SF问答精选《六》canvas不显示问题SF问答精选《五》菜单内容左右联动、生命周期函数SF问答精选《四》eslint 配置使用 co function&#xff1b;apache 反向代…