C语言实习报告.doc

C语言实习报告.doc

ID:54758912

大小:29.78 KB

页数:12页

时间:2020-04-21

C语言实习报告.doc_第1页
C语言实习报告.doc_第2页
C语言实习报告.doc_第3页
C语言实习报告.doc_第4页
C语言实习报告.doc_第5页
资源描述:

《C语言实习报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、题目一线性结构的操作1.用线性表的顺序存储(数组)保存数据输入要待查找的学号N输入的与学生里面的学号是否相等Y输出没有此人输出该信息算法的N-S图或流程图输入待删除的学号输入的与学生里面的学号是否相等NY删除该学生学号没有该学生2.用线性表的链式存储(链表)保存数据s插入:C1^H^HC1^SC2HC1^Ci-1…C1ps删除:An^…Ai-1-…LAiA1P…Ai+1AI-1…LAn^AiA1rinclude#includetypedefstruct{intnum;//学号charna

2、me[10];//姓名}student;//定义的抽象元素类型ElemtypetypedefstructNode/*结点类型定义*/{studentdata;structNode*next;}Node,*LinkList;/*LinkList为结构指针类型*/staticintcount;//学生人数//带头结点的尾插入法创建链表voidinsert(LinkListhead){LinkListp,q;//p代表的待插元素代入最后一个元素q=head;//q指向head结点printf("输入学生人数:");scanf("%

3、d",&count);for(inti=0;idata.num);//输入结点p的数据°学号printf("输入姓名:");scanf("%s",p->data.name);//输入结点的数据域姓名name为数组类型数组名为首地址所有此处不需要地Ì址符号if(i==0){head->next

4、=p;//i=0链表中没有元素只有头节点把插入到head之后}else{q->next=p;//链表中已有结点元素结点采用尾插入法}q=p;//每插入一个元素就赋值于qq始终指向最后一个元素}p->next=NULL;//设置next域为空}voidprint(LinkListhead){LinkListx;//定义一个链表结点x=head->next;//该节点指向第一个元素printf("学生信息如下");while(x)//存在结点{printf("学号%d姓名%s",x->data.num,x->data.n

5、ame);//输出该结点的数据域学号和姓名x=x->next;//下一个元素}printf("");}//把链表中的文件信息放入文件中//写入语句voidsavetofile(LinkListhead){FILE*fp;LinkListp;p=head->next;if((fp=fopen("d:\st2.txt","wb+"))==NULL){printf("不能打开文件");return;}while(p){fprintf(fp,"%d%sr",p->data.num,p->data.name);p=p->n

6、ext;}printf("写入成功");}//功能菜单提示性语句voidmenu(){printf("0.退出1.输入2.输出3.写入");}voidmain(){intchoice;LinkListl;l=(LinkList)malloc(sizeof(Node));//头结点申请空间l->next=NULL;//头结点的next为空menu();while(1){scanf("%d",&choice);//输入一个整数switch(choice){case1:insert(l);menu();break;

7、case2:print(l);menu();break;default:exit(0);}}}题目二排序#include"stdio.h"#include"stdlib.h"#include"time.h"#defineTRUE1#defineFALSE0typedefintKeyType;typedefintOtherType;#defineMAXSIZE200/*线性表可能达到的最大长度*/typedefstruct{KeyTypekey;OtherTypeother_data;}RecordType;voidInsSo

8、rt(RecordTyper[],intlength)/*对记录数组r做直接插入排序,length为数组中待排序记录的数目*/{inti,j;for(i=2;i<=length;i++){r[0]=r[i];/*将待插入记录存放到监视哨r[0]中*/j=i-1;while(r[0].key

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。