当前位置:首页 » 编程语言 » 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;

}