




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,假定一台电脑由显示器、CPU、内存、硬盘和机箱5个部件组成,每个部件包括牌子、型号和价格3个属性,从一个文本文件中读取一台电脑的5个部件的信息,然后算出该电脑的总价格,并把5个部件的属性和总价格输出另一个文件中。,2,structBuJiancharPinPai;charXingHao;intJiaGe;,3,main()structBuJianxsq,yp,cpu,nc,jx;intZongJiaGe;FILE*fp;fp=fopen(e:a.txt,r);fscanf(fp,%s%s%d,xsq.PinPai,xsq.XingHao,4,ZongJiaGe=xsq.JiaGe+yp.JiaGe+cpu.JiaGe+nc.JiaGe+jx.JiaGe;fp=fopen(e:b.txt,w);fprint(fp,%s%s%dn,xsq.PinPai,xsq.XingHao,xsq.JiaGe);fprint(fp,%s%s%dn,yp.PinPai,yp.XingHao,yp.JiaGe);fprint(fp,%s%s%dn,cpu.PinPai,cpu.XingHao,cpu.JiaGe);fprint(fp,%s%s%dn,nc.PinPai,nc.XingHao,nc.JiaGe);fprint(fp,%s%s%dn,jx.PinPai,jx.XingHao,jx.JiaGe);fprint(fp,%dn,ZongJiaGe);fclose(fp);,5,第二题,6,structBuJiancharPinPai;charXingHao;intJiaGe;,7,structDianNaoBuJianxsq;BuJianyp;BuJiancpu;BuJiannc;BuJianjx;,8,main()structDianNaodn3;inti;FILE*fp;fp=fopen(e:a.txt,r);for(i=0;inext=NULL;(3)如果head为NULL,则head=p;否则last-next=p;(4)last=p;(5)重复(2)(4),继续建立新结点。,17,structstudentintnum;charname10;structstudent*next;,18,head=NULL,last=p=(structstudent*)malloc(sizeof(structstudent)p-next=NULL;scanf(“%d”,head=NULL?,head=p,last-next=p;last=p;,p=(structstudent*)malloc(sizeof(structstudent)p-next=NULL;scanf(“%d”,p-num=0?,Y,N,Y,N,scanf(“%d”,p-name);,19,structstudent*creat(void)structstudent*head=NULL;structstudent*p,*last;p=(structstudent*)malloc(sizeof(structstudent);last=p;p-next=NULL;scanf(“%d”,20,while(p-num!=0)scanf(“%s”,p-name);if(head=NULL)head=p;elselast-next=p;last=p;p=(structstudent*)malloc(sizeof(structstudent);p-next=NULL;scanf(“%d”,21,2.头插法建立单链表,特点:新产生的结点作为新的链表头插入链表。操作步骤:(1)head=NULL;(2)生成新结点,指针变量p指向该结点;(3)p-next=head;head=p;(4)重复(2)(3),继续生成下一个链表结点。,22,链表的学习与运用是对前面内容的综合,输入尽量用fscanf少用scanf,23,作业,建立学生结构体,包括学号、姓名和年龄,从文件“E:s.txt”中读取5个学生的信息,用头插法建立一个学生的链表。,24,链表的访问,1.输出链表结点操作步骤:(1)得到链表头结点的地址head;(2)指针变量p=head;(3)输出p所指结点的成员值;(4)p后移一个结点,p=p-next;(5)重复(3)(4),直到链表为空。,25,voidoutput(structstudent*head)structstudent*p=head;/p:遍历链表中的每个节点while(p!=NULL)输出节点信息;p=p-next;/指针后移,程序,26,2.统计链表结点的个数,一般情况下,各个单链表中结点个数是随机的,要想知道表中结点数目,必须从表头开始访问到表尾,逐个统计出结点数目。3.查找链表的某个结点在链表上查找符合某个条件的结点,也必须从链表头开始访问链表。,27,链表的插入操作,在第n个结点之后插入1个新结点,插入操作步骤:(1)q指针指向新结点,i为已访问过的结点数;(2)p=head,r指向p结点的前一个结点;(3)i+,r=p,p=p-next,p结点往前移动一个结点;(4)若inext=head,head=q;(6)若inext=q,q-next=NULL;(7)否则,将q结点插入到第n个结点之后,即插入到r结点与p结点之间:r-next=q,q-next=p;(8)返回链表头head。,28,(a)head指示已有链表,q指示待插入结点,29,注意:指针的赋值顺序q-next=r-next;r-next=q;,30,structstudent*insert(structstudent*head,structstudent*p)structstudent*p1,*p2;if(head=NULL)head=p;elsep2=p1=head;while(p1!=NULL,31,链表的删除操作,删除第n个结点(1)p=head,q指针指向p所指结点的前1个结点;(2)i为访问过的结点数目;(3)i+,q=p,p=p-next,p、q移动1个结点;(4)若p!=NULL且inext;(6)若head=NULL,链表为空,不能删除;(7)若p=NULL,第n个结点不存在,不能删除;(8)找到第n个结点,删除p结点:q-next=p-next;p的前1个结点的next值赋值为p的next域;(9)返回head。,32,指针的赋值方法:q-next=p-next;free(p);,33,程序,structstudent*delete(structstudent*head,intnum)structstudent*p,*p1;/p:删除点,p1:删除点前一个节点if(head=NULL)输出提示信息;/链表为空时没有要删除的节点,这里也可以不判断,可直接使用绿色和蓝色的代码elsep1=p=head;while(p!=NULL,34,练习,建立一个学生结构体如下,写一个函数创建一个包含3个学生的链表,再写两个函数分别根据学生姓名来查找一个学生和删除一个学生.,structstudentcharname16;/*学生姓名*/intsno,age;/*学号,年龄*/structstudent*next;,35,第六讲,文件读写FILE*fp;fp=fopen(“e:a.txt”,”w+”);fprintf(fp,”%d”,56);fclose(fp);,36,文件读写FILE*fp;intx,y,z;fp=fopen(“e:a.bmp”,”r”);x=fgetc(fp);y=fgetc(fp);z=fgetc(fp);fclose(fp);,37,位运算按位与(,39,位运算按位异或(),运算规则两个操作数进行异或:若对应位相同,则结果该位为0,若对应位不同,则结果该位为1,举例:计算071052071:00111001052:()00101010071052:00010011,40,用途:使特定位翻转(与0异或保
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童营养与健康饮食科学知识大全
- 幼儿园晨间安全活动方案
- 办公室精细化管理标准流程详解
- 小学德育课程提升计划与实施流程
- 企业战略规划制定流程与案例分析
- 企业培训课程开发需求分析报告
- 芳香疗法专业理论与实践试题礼包
- 传统文化节庆活动文案策划书
- 春天题材古诗赏析与鉴赏
- 高中物理期中考试试题及评分标准
- 2025房屋宅基地买卖合同
- 高一物理力学知识点总结与测试题
- 广东省深圳市罗湖区2025-2026学年高三第一学期开学质量检测语文(含答案)
- 2025年南网春招笔试试题及答案
- 2025餐饮业简易劳动合同范本下载
- 基于PLC的果园灌溉施肥系统设计
- 南通蓝浦环评报告书
- 商户维护与管理办法
- 2025年武汉市中考英语试卷真题(含答案)
- 无人机清洗玻璃幕墙技术规范
- 浙江省舟山市2024-2025学年高二下学期6月期末物理+答案
评论
0/150
提交评论