好文档 - 专业文书写作范文服务资料分享网站

C语言实习报告

天下 分享 时间: 加入收藏 我要投稿 点赞

题目一线性结构的操作

1.用线性表的顺序存储(数组)保存数据

算法的N-S图或流程图

H

2.用线性表的链式存储(链表)保存数据 插入:

C2 、

C1

删除:

L

*A1 Ai ■ ?…一An

卜A1 } …

Ai

in clude

#in clude typedef struct {

int num; // 学号

char name[10]; // 姓名

}stude nt; //定义的抽象元素类型 Elemtype typedef struct Node /* 结点类型定义 */ {

student data;

struct Node *next;

}Node, *LinkList; /* LinkList 为结构指针类型 */ static int count;

//学生人数

//带头结点的尾插入法创建链表 void insert(LinkList head)

{

Lin kList p,q; 〃p代表的待插元素代入最后一个元素 q=head;//q 指向 head吉点 printf(\输入学生人数:\scanf(\for(int i=0;i

{

printf(\输入第%d个学生信息:\\n\

p = (LinkList)malloc( sizeof(Node)); //结点 p申请一个空间 printf(\输入学号:\

scanf('%d\〃输入结点 p的数据。学号 printf(\输入姓名:\

scanf('%s\输入结点的数据域姓名 name为数组类型数

组名为首地址所有此处不需要地址符号

if(i==0)

{

head->next = p; //i=0链表中没有元素只有头节点把插入到 head之后

}

else

{

q->next = p; //链

表中已有结点元素结点采用尾插入法

}

q = p; 〃每插入一个元素就赋值于q q始终指向最后一个元素

}

p-> next = NULL; // 设置 next域为空

}

void print(LinkList head)

{

LinkList x; //定义一个链表结点

x = head->next ; //该节点指向第一个元素 printf(\学生信息如下\\n\while(x) //存在结点 {

printf(\学号%d 姓名%s\\n\〃输出该结点的据域学号和姓名

x = x->next ; //下一个元素 }

printf(\

}

//把链表中的文件信息放入文件中 //写入语句

void savetofile(LinkList head)

{

FILE*fp;

LinkList p; p=head->next; if((fp=fopen(\

{

printf(\不能打开文件\

return;

}

while(p)

{

fprintf(fp, \p=p->next;

}

printf(\写入成功 \\n\

}

//功能菜单 提示性语句 void menu()

{

printf(\退出1输入 2.输出3.写入\\n\

}

void main()

{

int choice; LinkList l;

l = (LinkList)malloc( sizeof(Node)); //头结点申请空间 l->next=NULL; //头结点的 next为空 menu(); while(1)

{

scanf(\输入一个整数 switch(choice)

{

case1: insert(l);menu();break; case2: print(l); menu();break; default: exit(0);

C语言实习报告

题目一线性结构的操作1.用线性表的顺序存储(数组)保存数据算法的N-S图或流程图H2.用线性表的链式存储(链表)保存数据插入:C2、C1删除:L*
推荐度:
点击下载文档文档为doc格式
19fue29r1n1xep036fj71ujtp7zqyg019k4
领取福利

微信扫码领取福利

微信扫码分享