當前位置:首頁 » 編程語言 » c語言的構建表格
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言的構建表格

發布時間: 2022-07-20 12:02:34

❶ 可以在c語言中畫表格嗎

1、graphics.h里可以畫直線,矩形,有了他們,畫個表格還不是小意思,矩形函數的表達式吧~記住,在graphics.h頭文件里。

2、常式:

#include<stdio.h>
#include<string.h>
charS[100][1000]={''};//聲明表為全局變數
ints1=0;
voidchart(intn,inta[],intm);
intmain()
{
intn;
intM1[40]={0},M2[40]={0},M3[40][100]={0};
inti,j,k,k1,k2,max=0,col,l;
chars[30][1000];
scanf("%d",&n);
getchar();//注意,必須得有這個來接收回車符
//
for(i=0;i<n;i++)
gets(s[i]);
//求最大列數
for(i=0;i<n;i++)
{
l=strlen(s[i]);
for(j=0;j<l;j++)
{
if(s[i][j]==',')
M1[i]++;
}
if(M1[i]>max)
{
max=M1[i];
}
}
col=++max;
//求每列最大寬度//1.先求每個單元的長度,賦給M3[i][j]中
for(i=0;i<n;i++)
{
l=strlen(s[i]);
k=0;
for(j=0;j<l;j++)
{
if(s[i][j]!=',')
{
M3[i][k]++;
}
if(s[i][j]==',')
k++;
}//for2
}//for1
//2.找每列最大的賦予M2[]
for(j=0;j<col;j++)
{
max=0;
for(i=0;i<n;i++)
{
if(M3[i][j]>max)
max=M3[i][j];
}
M2[j]=max;
}
//表格
chart(n,M2,col);
//輸入數據
for(i=0;i<n;i++)
{
k1=0;
k2=0;
k=0;
l=strlen(s[i]);
for(j=0;j<l;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;j<s1;j++)
printf("%c",S[i][j]);
printf(" ");
}
return0;
}
voidchart(intn,inta[],intm)//行數每列的最大長度數組
{
inti,j,k;
ints;
s1=m+1;
for(i=0;i<m;i++)
s1+=a[i];
for(i=0;i<=2*n;i++)
{
//輸出奇數行
if(i%2==0)
{
s=0;
k=0;
for(j=0;j<s1;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<s1;j++)
{
if(j==s)
{
S[i][j]='|';
s+=a[k];
s++;
k++;
}
}
}
}//for
}

❷ C語言怎麼用結構體建立一個表格求大神看一下這道習題

每項建立一個結構:
typedef struct item{
char *發貨單號;
char *發貨日期;
int 30天額;
....
}myItem;

❸ 怎樣創建線性表(C語言)

線性表是個抽象的概念,沒辦法直接創建抽象類型,需要具體的類型(比如數組,鏈表)。
比如創建數組:int array[100];
創建一個GList鏈表: GList * list = NULL; (空的)

❹ c語言怎麼出表格

1、首先在電腦中,打開軟體Dev-C++進入操作頁面中,然後在頁面中輸入頭文件。

❺ C語言創建一個線性表,然後輸出線性表,如何編寫程序

#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>

#defineOVERFLOW -2
#define OK 1
#define ERROR 0
#defineLIST_INIT_SIZE 100
#defineLISTINCREMENT 10

typedef intElemType;
typedef intStatus;
//定義順序存儲結構
typedef struct
{
ElemType *elem;
int length;
int listsize;
}sqlist;
//初始化順序表
StatusInitList_Sq(SqList &L)
{
L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem ) exit(ERROR);
L.length =0;
L.listsize =LIST_INIT_SIZE;
return OK;
}
//自定義創建順序表
voidCreate_SqList(SqList &L)
{
int c,i=0;
int *newBase;
printf("請輸入順序表元素:\n");
while((scanf("%d",&c))!=EOF)
{
if(i>=L.listsize) //自定義順序表大小超過初始化大小
{
newBase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
//為初始順序表以LISTINCREMENT大小重新增加存儲空間
if(!newBase)exit(OVERFLOW);
L.elem=newBase;
L.listsize+=LISTINCREMENT;
}
L.elem[i++]=c;
}
L.length=i;
printf("輸入的順序表元素:\n");
for(i=0;i<L.length;i++)
printf("%d ",L.elem[i]);
printf("\n");
}
//在指定位置插入元素
StatusListInsert(SqList &L,int i,ElemType e)
{
ElemType *p,*q,*newbase;
if(i<1||i>L.length+1)
{
printf("插入位置錯誤\n");
return(ERROR);
}
if(L.length>=L.listsize)
{
newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));
if(!newbase) exit(OVERFLOW);
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
if(i==L.length) L.elem[i+1]=e;
q=&(L.elem[i-1]);
for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;
*q=e;
++L.length;
return OK;
}
//在指定位置刪除元素
StatusListDelete_Sq(SqList &L,int i,ElemType *e)
{
ElemType *p,*q;
if(i<1||i>L.length+1)
return ERROR;
p=&(L.elem[i-1]);
*e=*p;
q=L.elem+L.length-1;
for(++p;p<=q;++p)
*(p-1)=*p;
--L.length ;
return OK;
}

void main()
{
SqList L;
int m,n;
int location,element;
if(!InitList_Sq(L))
{
printf("初始化順序表失敗!\n");
exit(ERROR);
}
Create_SqList(L);
for(m=0;m<3;m++)
{
printf("輸入插入位置:");
scanf("%d",&location);
while(location>L.length+1||location<1)
{
printf("輸入位置錯誤,請重新輸入!\n");
scanf("%d",&location);
}
printf("插入元素:");
scanf("%d",&element);
if(!ListInsert(L,location,element))
{
printf("順序表插入失敗!\n");
exit(ERROR);
}
printf("插入順序表為:\n");
for(int i=0;i<=L.length -1;i++)
{
printf("%d ",L.elem[i]);
}
printf("\n新順序表一共有%d個元素。\n",L.length);
}
for(n=0;n<3;n++)
{
printf("輸入刪除位置:");
scanf("%d",&location);
while(location>L.length||location<1)
{
printf("輸入位置錯誤,請重新輸入!\n");
scanf("%d",&location);
}
if(!ListDelete_Sq(L,location,&element))
{
printf("刪除錯誤!\n");
exit(ERROR);
}
printf("被刪除的元素為:%d \n",element);

printf("被刪除後的順序表為:\n");
for(int j=0;j<=L.length-1;j++)
{
printf("%d ",L.elem[j]);
}
printf("\n新順序表一共有%d個元素。\n",L.length);
}
}
這個是我最近編寫的 順序表也是線性表的
這里還有鏈表的程序 用的話再傳給你

❻ 怎麼利用c語言創建excel文件

如果數據簡單的話,可以使用CSV(逗號分隔值)格式的文件。CSV格式的文件可以用Office
Excel
打開。比如有要保存的一張表格是這樣的:
----------------表格開始-------------------
編號
姓名
性別
1
A

2
B

3
C

---------------表格結束--------------------
那麼在保存CSV文件裡面數據格式是這樣的:
----------------內容開始----------------
編號,姓名,性別
1,
A,

2,
B,

3,
C,

----------------內容結束----------------
用Excel打開是這樣的:
下面是示常式序:
#include
struct
Student
{
int
id;
char
name[10];
char
gender[3];
};
int
main(int
argc,
char
*argv[])
{
//
在程序所在目錄下面,可以看見一個名為
student.csv
的文件
FILE
*
file=fopen("student.csv","w...
}
}
fclose(file);;),%s\
struct
Student
studens[]=
{
{1,studens[i],",

2.h>
};:
----------------內容開始----------------
編號,
A;%s%,%s,
B;),"
int
main(int
argc,"};
int
studensAmount=sizeof(studens)/,",%s\;
return
0;%d%,studens[i];n",studens[i];男"
在程序所在目錄下面;B"男"i<,".csv
的文件
FILE
*
file=fopen(",性別
1,
C;,

----------------內容結束----------------
用Excel打開是這樣的;student;性別"姓名"w"studensAmount,姓名;,"
struct
Student
{
int
id;},

3;/stdio,"女"
char
name[10],".gender);
for(i=0;C".id,可以使用CSV(逗號分隔值)格式的文件;
int
i;sizeof(struct
Student),
char
*argv[])
{
/,可以看見一個名為
student,
};編號":
#include
<;n",
{2。比如有要保存的一張表格是這樣的,".name:
下面是示常式序。CSV格式的文件可以用Office
Excel
打開;A"},
{3,":
----------------表格開始-------------------
編號
姓名
性別
1
A

2
B

3
C

---------------表格結束--------------------
那麼在保存CSV文件裡面數據格式是這樣的;,",%s;
char
gender[3].csv"i++)
{
fprintf(file,"
if(file)
{
fprintf(file如果數據簡單的話

❼ C語言如何創建線性表中的順序表

//假設元素是int
structseqList
{
intarray*
intsize;
seqList(intarraySize)
{
int*array=newint[arraySize];
size=arraySize;
}

~SeqList()
{
delete[]array;
}

intGetSize()const{returnsize;}
int*GetArray(){returnarray;}
voidSetValue(intindex,intvalue)
{
if(index>=size)
return;

array[index]=value;
}
}
//測試代碼

voidmain()
{
seqListmyArray(5);
myArray.SetValue(0,1);
myArray.SetValue(1,100);
myArray.SetValue(2,1000);
myArray.SetValue(3,10000);
myArray.SetValue(4,100000);
int*array=myArray.GetArray();
intsize=myArray.GetSize();
for(inti=0;i<size;i++)
{
printf("%d ",array[i]);
}
}

輸出結果是1,100,1000,10000,100000

❽ 用C語言創建一個順序表並完成插入等操作

/*

GY52122008

請輸入插入字元 : -

請輸入插入位置 : 7

GY5212-2008

Press any key to continue

*/

#include<malloc.h>
#include<stdio.h>
#include<string.h>

#definemaxsize100

typedefstruct{
char*data;
intlength;
}sqlist;

voidinitlist(sqlist*&L){//初始化順序表
L=(sqlist*)malloc(sizeof(sqlist));
L->data=(char*)malloc(maxsize);
L->length=0;
}
voidcreatelist(sqlist*&L,chara[],intn){//建立順序表
inti;
for(i=0;i<n;i++)L->data[i]=a[i];
L->length=n;
}
boollistinsert(sqlist*&L,inti,chare){//插入數據元素
intj;
if(i<1||i>L->length+1)returnfalse;
i--;
for(j=L->length;j>i;j--)L->data[j]=L->data[j-1];
L->data[i]=e;
L->length++;
returntrue;
}
boollistdelete(sqlist*&L,inti,char&e){//刪除數據元素
intj;
if(i<1||i>L->length)returnfalse;
i--;
e=L->data[i];
for(j=1;j<L->length-1;j++)L->data[j]=L->data[j+1];
L->length--;
returntrue;
}
intlistlength(sqlist*L){//求線性表長度
return(L->length);
}
voiddestroylist(sqlist*&L){
free(L);
}
intlocateelem(sqlist*L,chare){//按元素查找
inti=0;
while(i<L->length&&L->data[i]!=e)i++;
if(i>=L->length)return0;
elsereturni+1;
}
voiddisplist(sqlist*L){//輸出線性表
inti;
for(i=0;i<L->length;i++)printf("%c",L->data[i]);
printf(" ");
}

intmain(){
intpos,len;
charch,data[50]="GY52122008";
sqlist*L;
initlist(L);//先初始化
len=strlen(data);
createlist(L,data,len);//創建表
displist(L);
printf("請輸入插入字元:");
scanf("%c",&ch);
printf("請輸入插入位置:");
scanf("%d",&pos);
if(listinsert(L,pos,ch))displist(L);
elseprintf("插入操作失敗。 ");
free(L->data);
free(L);
return0;
}

❾ 用c語言創建一個順序表,並完成創建,顯示,查找,插入,刪除,退出等任務

#include<stdio.h>
int n=0; //全局變數數組中元素個數
/***************************函數說明************************/
void insert(int * ss);
void show(int *ss);
void delete(int * ss);
void updata(int * ss);
/***************************主 函 數**************************/
main()
{
int bb[20]={0},j;
do
{
printf(" ╔-----------------------------------------------╗\n"); //顯示一個簡易菜單
printf(" ┆ 1 --- 插入(Insert) ┆\n");
printf(" ┆ 2 --- 修改(Update) ┆\n");
printf(" ┆ 3 --- 刪除(Delete) ┆\n");
printf(" ┆ 4 --- 顯示( Show ) ┆\n");
printf(" ┆ 5 --- 退出( Exit ) ┆\n");
printf(" ╚-----------------------------------------------╝\n");
printf("請輸入所要進行的操作序號: ");
scanf("%d",&j); //接受用戶的選擇
switch(j) //接受用戶的函數
{case 1:insert(bb);
break;
case 2:updata(bb);
break;
case 3:delete(bb);
break;
case 4:show(bb);
break;
case 5:break;
default:printf("錯誤選擇!請重選\n");break;
}
}while(j!=5); //直到i被賦值為5
return 0;

}

/**********************************插入函數**************************************/

void insert(int * ss)
{
int i,e,k=n; // i為要插入的位置 e為要插入的值
do{
printf("請輸入要插入的位置: ");
scanf("%d",&i);
//插入的位置為從 1-----n+1 超出則提示輸入有誤
if((i>(k+1))||i==0) printf("輸入有誤!! \n");
}while((i>(k+1))||i==0);//直到輸入的i值為 1---k+1
do{
ss[k+1]=ss[k]; //ss[i]後面的元素向後移動
}while((k--)!=(i-1));
printf("請輸入要插入的值: ");
scanf("%d",&e);
ss[i-1]=e;
n++;
}

/**********************************顯示函數**************************************/
void show(int *ss)
{
int i=0;
for(i;i<n;i++)
{
printf(" %d ->",ss[i]);
} //printf("\b");
printf("\n");
}
/**********************************刪除函數**************************************/

void delete(int * ss)
{
int i,t;
do{
printf("請輸入要刪除的位置: ");
scanf("%d",&i);
if(i>n) printf("輸入有誤!! 請重新輸入: ");
}while(i>n);
t=i-1;
do{
ss[t]=ss[t+1];
}while((t++)!=n);
n--;
}
/**********************************修改函數**************************************/
void updata(int * ss)
{
int i,e;
do{
printf("請輸入要修改的位置: ");
scanf("%d",&i);
if(i>n) printf("輸入有誤!! 請重新輸入: ");
}while(i>n);
printf("請輸入要修改後的值: ");
scanf("%d",&e);
ss[i-1]=e;

}