- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c程序设计2-第五讲-链表 PPT
假定一台电脑由显示器、CPU、内存、硬盘和机箱5个部件组成,每个部件包括牌子、型号和价格3个属性,从一个文本文件中读取一台电脑的5个部件的信息,然后算出该电脑的总价格,并把5个部件的属性和总价格输出另一个文件中。 ;struct BuJian
{
char PinPai;
char XingHao;
int JiaGe;
};;main()
{
struct BuJian xsq,yp,cpu,nc,jx;
int ZongJiaGe;
FILE * fp;
fp = fopen(e:\\a.txt,r);
fscanf(fp,%s %s %d,xsq.PinPai,xsq.XingHao,xsq.JiaGe);
fscanf(fp,%s %s %d,yp.PinPai,yp.XingHao,yp.JiaGe);
fscanf(fp,%s %s %d,cpu.PinPai,cpu.XingHao,cpu.JiaGe);
fscanf(fp,%s %s %d,nc.PinPai,nc.XingHao,nc.JiaGe);
fscanf(fp,%s %s %d,jx.PinPai,jx.XingHao,jx.JiaGe);
fclose(fp);; ZongJiaGe = xsq.JiaGe + yp.JiaGe + cpu.JiaGe + nc.JiaGe + jx.JiaGe ;
fp = fopen(e:\\b.txt,w);
fprint(fp,%s %s %d\n,xsq.PinPai,xsq.XingHao,xsq.JiaGe);
fprint(fp,%s %s %d\n,yp.PinPai,yp.XingHao,yp.JiaGe);
fprint(fp,%s %s %d\n,cpu.PinPai,cpu.XingHao,cpu.JiaGe);
fprint(fp,%s %s %d\n,nc.PinPai,nc.XingHao,nc.JiaGe);
fprint(fp,%s %s %d\n,jx.PinPai,jx.XingHao,jx.JiaGe);
fprint(fp, %d\n,ZongJiaGe);
fclose(fp);
}
;第二题;main()
{
struct DianNao dn[3];
int i;
FILE * fp;
fp = fopen(e:\\a.txt,r);
for(i=0;i3;i++)
{
fscanf(fp,%s %s %d,dn[i].xsq.PinPai,dn[i].xsq.XingHao,dn[i].xsq.JiaGe);
fscanf(fp,%s %s %d,dn[i].yp.PinPai,dn[i].yp.XingHao,dn[i].yp.JiaGe);
fscanf(fp,%s %s %d,dn[i].cpu.PinPai,dn[i].cpu.XingHao,dn[i].cpu.JiaGe);
fscanf(fp,%s %s %d,dn[i].nc.PinPai,dn[i].nc.XingHao,dn[i].nc.JiaGe);
fscanf(fp,%s %s %d,dn[i].jx.PinPai,dn[i].jx.XingHao,dn[i].jx.JiaGe);
}
fclose(fp);;第五讲 链表;7;链表结构的定义;例:建立一个简单链表,它由3个学生数据的节点组成。输出各节点中的数据。;10101;对链表的基本操作 ;(3)插入:在结点ki-1与ki之间插入一个新的结点k’,使表的长度增1,且逻辑关系发生如下变化:
(4) 删除操作:删除结点ki,使链表的长度减1,且ki-1、ki和ki+1结点之间的逻辑关系发生如下变化:;建立链表 ;struct student
{int num;
char name[10];
struct student *next;
};;head=NULL;struct student *creat(void)
{
struct student *head=NULL;
struct student *p,*last;
p=(struct student *)malloc(sizeof(struct student));
last = p;
p-next = NULL;
scanf(“%d”,p-num);
;
while(p-num!=0)
{scanf(“%s”,p-name);
if(head==NULL) head=p;
else {last-next=p;la
文档评论(0)