首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun。 函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun。 函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源
admin
2013-09-15
36
问题
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun。
函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <stdlib.h>
#define N 8
typedef struct list
{ int data;
struct list *next;
} SLIST;
void fun(SLIST *p)
{SLIST *t, *s;
t=p->next;s=p;
while(t->next !=NULL)
{ s=t;
/**********found**********/
t=t->____1____;
}
/**********found**********/
printf("%d",____2____);
s->next=NULL;
/**********found**********/
free(____3____);
}
SLIST *crearliSt(int *a)
(SLIST *h,*P,*q;int i;
h=p=(SLIST *)malloc(sizeof(SLIST));
for(i=0; i<N; i++)
{ q=(SLIST *)mailoc(sizeof(SLIST));
q->data=a
;P->next=q;p=q;
}
P->next=0;
return h;
}
void outlist(SLIST *h)
{SLIST *P;
p=h->next2;
if (p==NULL)printf("\nThe list is NULL!\n");
else
{ printf("\nHead");
do { printf("->%d",p->data);p=p->next;} while(p!=NULL);
printf("->End\n");
}
}
main()
{SLTST *head;
int a[N]={11,12,15,18,19,22,25,29);
head=creatliSt(a);
printf("\nOutput from head:\n");outliSt(head);
printf("\nOutput from tail:\n");
while(head->next!=NULL){
fun(head);
printf("\n\n");
printf("\nOutput from head again:\n");outlist(head);
}
}
选项
答案
(1)next (2)t->data (3)t
解析
第一空:fun函数中的循环“while(t->next!=NULL)”目的是找到尾结点,利用结点变量s和t,s指向当前节点,t不断指向下一个结点,因此第一空处应该是“t=t->next;”。
第二空:这里是输出尾结点中的数据,已经利用循环找到了尾结点t,t的数据是t->data,因此第二空处应该为“print("%d",t->data);”。
第三空:输出尾结点数据之后删除尾结点,使用free,又因为尾结点是t,因此第三空处应该为“free(t);”。
转载请注明原文地址:https://kaotiyun.com/show/NMJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下关于字符串的叙述中正确的是
有以下程序 #include <stdio.h> void fun(int *a, int n)/* fun 函数的功能是将a所指数组元素从大到小排序*/ { int t, i,j; for (i=0; i<n-1 ;i
有以下程序 #include <stdio.h> main() { int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf
下列程序从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。#include<stdio.h>main(){FILE*fp;charch;fp=fopen(【】);
下列程序舶输出结果是【 】。#include<stdio.h>main(){inta[5]={2,4,6,8,10},*p;p=a;p++;printf("%d",*p);}
有下列程序: #include <stdio.h> int f(int x) { int y; if(x=0‖x==1)return(3); y=x*x-f(x-2); retur
在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是______。
以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#defineN3#defineM3select(inta[N][M],int*n)
随机试题
下颌第一前磨牙面似
程某系鸿星公司员工,上班路上被闯红灯的摩托车撞伤,住院治疗后身体留下残疾。鸿星公司认为程某的身体状况已不适合从事原工作,遂解除与程某的劳动合同。程某与公司多次协商无果,向法院起诉要求鸿星公司继续履行劳动合同,并支付其住院期间的医疗费、营养费、护理费、住院期
【2014专业知识真题下午卷】110kV及以下供配电系统中,用电单位的供电电压应根据下列哪些因素经技术经济比较确定?()
以一般贸易方式进口的货物就是一般进出口货物。()
()社会工作是将社会工作实施于司法矫正体系中的一种福利服务活动。
1840年6月,甲午中日海战爆发。()
发散思维是指随着不同的方向、不同的角度思考问题,从各方面寻找解决问题的思路模式。下列属于发散思维的一项是()。
两个秀才一同去赴试,刚上路就遇到出殡的队伍,黑漆漆的棺材擦身而过。甲秀才大感晦气,心头愁绪郁结,结果没有考好名落孙山;乙秀才则暗自高兴:棺材棺材,有官有财,是个好兆头。上了考场,他精神爽快文思泉涌,果然一举成名。两个秀才回来后说自己的预感很灵验,甲说:“一
学术评价中,往往交织着主客观的各种复杂因素。由于学术评价常受到评价主体学术观点、情感倾向、价值观等因素的影响,所以人们倾向于依靠量化数据进行评价。事实上,这类数据所包含的评价意义是由点击者、下载者、引用者体现出的,过度倚重这类数据就是把量化数据的制作者当成
理论认为,反物质是正常物质的反状态,当正反物质相遇时,双方就会相互湮灭抵消,发生爆炸并产生巨大能量。有人认为,反物质是存在的,因为到目前为止没有任何证据证明反物质是不存在的。以下哪项与题干中的论证方式相同?()
最新回复
(
0
)