首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放
admin
2020-06-16
70
问题
给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#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*creatlist(int *a)
{SLIST *h,*p,*q;int i ;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0; i
{q=(SLIST*)malloc(sizeof(SLIST));
q->data=a
;p->next=q;p=q;
}
p->next=0:
return h;
}
void outlist(SLIST *h)
{SLIST *p;
p=h->next;
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()
{SLIST*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");out=list(head);
}
}
选项
答案
(1)next (2)t->data (3)t
解析
第一空:fun函数中的循环“while(t->next!=NULL)”目的是找到尾结点,利用结点变量s和t,s指向当前节点,t不断指向下一个结点,因此第一空处应该是“t=t->next;”。
第二空:这里是输出尾结点中的数据,已经利用循环找到了尾结点t,t的数据是t->data,因此第二空处应该为“printf("%d",t->data);”。
第三空:输出尾结点数据之后删除尾结点,使用free,又因为尾结点是t,因此第三空处应该为“free(t);”。
转载请注明原文地址:https://www.kaotiyun.com/show/jpCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include#includevoidfun(double*p1,double*p2,double*s){s=(double*)calloc(1,sizeof(double));*s=*
以下关于字符串的叙述中正确的是()。
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
以下对一维数组a的正确说明是()。
请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。注意:请勿改动主函数ma
设有某函数的说明为:int*func(inta[10],intn);则下列叙述中,正确的是()。
下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量8fname中,目标文件名放在变量tfname中。请在下画线处填入
若有定义:charc;ihtd;,程序运行时输入:c=1d=2,能把字符l输入给变量c、把整数2输入给变量d的输入语句是()。
对软件系统总体结构图,下面描述中错误的是()。
随机试题
疾病的三间分布包括
既是合穴,又是八会穴的是
芒硝入汤剂宜()
引起急性化脓性梗阻性胆管炎最常见的原因是
法律制裁于法律责任的关系是()。
下列属于旅行社基本职能的有组织职能、销售职能、采购职能、分配职能。()
戏剧史上的第一个导演()出现在19世纪的(),他创立了()剧团。
费尔巴哈指出,纯粹自然科学的唯物主义虽然“是人类知识的大厦的基础,但不是大厦本身”。列宁也指出:“在马克思和恩格斯看来,哲学没有任何的单独存在的权利,它的材料分布在实证科学的各种不同的部门中间”。这说明()
结构化布线系统采用的传输介质主要是双绞线和______。
以下程序的输出结果是#includemain(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){defau
最新回复
(
0
)