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.pswp.cn/news/536590.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536590.shtml
英文地址,請注明出處:http://en.pswp.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 反向代…