首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生
admin
2019-03-06
53
问题
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<Stdlib.h>
3 #define N 8
4 typedef struct list
5 { int data;
6 struct 1ist *next;
7 } SLIST;
8 void fun(SLIST *p)
9 { SLIST *t,*e;
10 t=p->next;s=p;
11 while(t->next!=NULL)
12 { s=t;
13 /**********found**********/
14 t=t->___1___;
15 }
16 /**********found**********/
17 printf(’’%d’’,___2____);
18 s->next=NULL;
19 /**********found**********/
20 free( ___3____);
21 }
22 SLIST *creatlist(int *a)
23 {SLIST *h,*p,*q;it i;
24 h=p=(SLIST*)malloc(sizeof(SLIST));
25 for(i=0;i<N;i++)
26 {q=(SLIST *)malloc(sizeof(SLIST));
27 q->data=a
;p->next=q;p=q;
28 }
29 p->next=0;
30 return h;
31 }
32 void outlist(SLIST *h)
33 {SLIST *p;
34 p=h->next;
35 if (p==NULL) printf(’’\nThelist is NULL!\n’’);
36 else
37 { printf(’’\nnead’’);
38 do {printf(’’->%d’’,p->data);p=p->next;} while(p!=NULL);
39 printf(’’->End\n’’);
40 }
41 }
42 main()
43 {SLIST *head;
44 int a[N]={11,12,15,18,19,22,25,29};
45 head=creatlist(a);
46 printf(’’\nOutput from head:\n’’);outlist(head);
47 printf(’’\nOutput from tail:\n’’);
48 while(head->next!=NULL) {
49 fun(head);
50 printf(’’\n\n’’);
51 printf(’’\nOutput from head again:\n’’);outlist Ihead);
52 }
53 }
选项
答案
(1)next (2)t->data (3)t
解析
fun函数的功能是输出链表尾部结点中的数据,并释放该结点,使链表缩短。由于链表是单向的,找到链表尾部结点需要利用循环从头结点开始查找,直至找到最后一个,找到之后输出尾部结点的数据,然后删除尾结点。
第一空:fun函数中的循环目的是找到尾结点“while(t->next!=NULL)”,利用结点变量s和t,s指向当前节点,t不断指向下一个结点,因此,第一空处应该是“t=t->next;”。第二空:这里是输出尾结点中的数据,已经利用循环找到了尾结点t,t的数据是t->data,因此,第二空处应该为“printf(’’%d’’,t->data),”。第三空输出尾结点数据之后删除尾结点,使用free,又因为尾结点是t,因此,第三空处应该为“flee(t);”。
转载请注明原文地址:https://kaotiyun.com/show/cIRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大数,再求这N个最大值中的最小的那个数作为函数值返回。请填空______。#include<stdio.h>#defineN100intfun(int(*a)
有如下程序main(){inti,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是_____。
阅读下述程序段:y=-1;if(x!=0)if(x>0)y=1;elsey=0;该程序段所描述的数学关系是()
若有说明“chars1[30]="abc",s2[]="defghi";”,则在使用函数stcat(s1,s2)后,结果是()。
数据库系统的核心是
在链表的运算过程中,能够使空表与非空表的运算统一的结构是______。
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}prin
有以下程序intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*fl)(),int(*f2)(),intx}{returnf2(x)-f1(x)
最简单的交换排序方法是______。
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
随机试题
InancientGreeceathleticfestivalswereveryimportantandhadstrongreligiousassociations.TheOlympianathleticfestivalh
A.多发性骨髓瘤B.食管癌C.黑色素瘤D.胃癌对放射治疗高度敏感的肿瘤是
A.肾动脉狭窄B.嗜铬细胞瘤C.原发性醛固酮增多症D.库欣综合征下列各病例最可能的诊断为男性,30岁。表现为血压重度升高,头晕,头痛,上腹部可闻及血管杂音
房地产开发企业委托房地产经纪机构代理销售商品房的委托合同应载明()。
甲公司计划投资建设一条生产线,项目总投资600万元,建设期为3年,每年年初投入200万元,项目建成后预计可使用10年,每年产生经营现金净流量150万元,若甲公司要求的投资报酬率为8%,则该项目的净现值是()万元。[已知(P/A,8%,13)=7.
2009年1月27日至2月3日,国务院总理温家宝对瑞士、德国、西班牙、英国和欧盟总部进行了正式访问,这次访问被称为()。
创新文化是与创新相关的能激励创新的文化,包括与创新有关的价值观、态度、信念等人文精神的创新观念文化和有助于创新的制度、规范等人文环境的创新制度文化。创新文化既作为环境因素,影响或制约创新过程,又作为一种渗透到创新主体的潜在因素,影响创新者的思想和行为。一个
新中国成立60多年来,我国经济区域结构实现了从低水平不协调到各具优势、协调发展转变,下列说法错误的是()。
邓小平对实事求是思想路线的主要贡献是
A.assistingB.estimatesC.shutoffD.manufacturersE.orallyF.invisibleG.sightlessH.sellersI.familiesJ.ascerta
最新回复
(
0
)