网站做支付端口的费用,自建站网站,免费的网站模版下载,网站建设的软件知识有哪些内容今天见到个题目#xff0c;就把他做了#xff0c;题目如下#xff1a;在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟#xff1a;(word文档中可能不整齐#xff0c;拷贝到记事本中看)-------------|abc |xyztt|…今天见到个题目就把他做了题目如下在图形环境中很容易做出漂亮的表格。但在控制台环境中就比较困难了。有的时候可以用一些符号大略地模拟(word文档中可能不整齐拷贝到记事本中看)-------------|abc |xyztt|-------------|hellomm|t2 |-------------本题目要求设计一个程序把用户输入的内容用这种“准表格”的方式展现出来。具体的要求是用户输入的第一行是一个整数表示接下来有多少行信息。接下来的每行由若干单元组成。单元间用逗号分开。程序输出用表格方式重新展现的输入内容。例如用户输入3cat,dog,good-luck1,2,5do not use,,that则程序输出(word文档中可能不整齐拷贝到记事本中看)----------------------|cat |dog|good-luck|----------------------|1 |2 |5 |----------------------|do not use| |that |----------------------从中不难看出两个连续的逗号表示中间有一个内容为空的单元列的数目由最大的单元数的那行决定列的宽度由同列的最宽的单元决定单元格中的信息左对齐可以假设用户输入的最大行数为30可能的最多列数为40。代码如下#include#includechar S[100][1000]{ };//声明表为全局变量int s10;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,max0,col,l;char s[30][1000];scanf(%d,n);getchar();//注意必须得有这个来接收回车符// for(i0;igets(s[i]);//求最大列数 for(i0;i{lstrlen(s[i]);for(j0;j{if(s[i][j],)M1[i];}if(M1[i]max){maxM1[i];}}colmax;//求每列最大宽度//1.先求每个单元的长度赋给M3[i][j]中 for(i0;i{lstrlen(s[i]);k0;for(j0;j{if(s[i][j]!,){M3[i][k];}if(s[i][j],)k;} //for2 }//for1//2.找每列最大的赋予M2[] for(j0;j {max0;for(i0;i{if(M3[i][j]max)maxM3[i][j];}M2[j]max;}//表格 chart(n,M2,col);//输入数据 for(i0;i{k10;k20;k0;lstrlen(s[i]);for(j0;j{S[2*i1][k21]s[i][j];if(s[i][j1],){k1k1M2[k]1;k2k1;k;j;}elsek2;}}//输出表格 for(i0;i2*n;i){for(j0;jprintf(%c,S[i][j]);printf(\n);}return 0;}void chart(int n,int a[],int m)//行数 每列的最大长度数组{int i,j,k;int s;s1m1;for(i0;is1a[i];for(i0;i2*n;i){//输出奇数行 if(i%20){s0;k0;for(j0;j{if(js){S[i][j];sa[k];s;k;}elseS[i][j]-;}//for } //if//输出偶数行 else{s0;k0;for(j0;j{if(js){S[i][j]|;sa[k];s;k;}}}} //for}OK一个例子如下O(∩_∩)O~