首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也
admin
2020-06-16
45
问题
下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struct list*next:
}SLIST;
void fun(SLIST*h)
{
SLIST*p,*q;
p=h—>next;
if(p!=NULL)
{
q=p—>next;
while(q!=NULL)
{if(p—>data==q—>data)
{p—>next=q—>next;
/ * * * * * * found * * * * * * /
free(
1
);
/ * * * * * * found * * * * * * /
q=p—>
2
;
}else
{p=q;
/ * * * * * * found * * * * * * /
q=q—>
3
;}
}
}
}
}
SLIST*creatlist(int*a)
{
SLIST*h,*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;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("The list is NULL!\n");
else
{printf("\nHead");
do{
printf("—>%d”,p—>data);
p=p—>next;
}while(p!=NULL);
printf("—>Endkn");
}
}
main()
{
SLIST*head:
int a[N]={1,2,2,3,4,4,4,5};
head=creatlist(a):
printf("The list before deleting:n");
outlist(head);
fun(head);
printf("The list after deleting:n");
outlist(head);
}
选项
答案
(1)q (2)next (3)next
解析
本题考查:释放内存空间函数free();链表结点的基本操作。
填空1:使用free函数,释放q所指的内存空间,其一般格式为:free(指针变量)。
填空2和填空3:删除链表中符合条件结点后,指针要指向下一个结点。
转载请注明原文地址:https://kaotiyun.com/show/AdCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列给定程序中,函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指的数组的尾部。例如,当a所指字符串中的内容为“abc.defg”,b所
C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是()。
有以下程序:#include#includemain(){chara[]=“1234”,*b=“ABC”;printf(“%d%d%d%d\n”,strlen(a),sizeof(a),strlen(b),si
下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回一1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。请在下画线处填入正确的内
请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:22234456666778991010
下列定义数组的语句中,正确的是()。
以下叙述中正确的是()。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为eh的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
以下关于C语言函数参数传递方式的叙述中正确的是()。
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,下列选项中错误的程序是()。
随机试题
在银行结算业务中,按支付的货币形式不同可分为()。
Theoldcoupledecidedto______aboythoughtheyhadthreeoftheirown.
(2005年)一定质量的理想气体,在温度不变的条件下,当压强降低时,分子的平均碰撞次数和平均自由程的变化情况是()。
在折射率n3=1.52的照相机镜头表面涂有一层折射率n2=1.38的MgF2增透膜,若此膜仅适用于波长为550nm的黄光,则此膜的最小厚度是()。
《公安机关人民警察纪律条令》是由公安部起草的,是我国第一部系统规范公安机关民警纪律行为及对违反纪律行为给予处分的部门规章。()
读图文资料,回答下列问题。五一放假期间,家住A省区的张曼乘火车随父母到上海的姥姥家探亲,请回答下列问题。张曼带给姥姥的特产可能是_________,她在上海的生活有些不适应,上海的气候类型和特征为_________。
A、 B、 C、 D、 D第一组图和第二组图特征相似:,故本题正确答案为D。
( )最早把马列主义传入中国。
下列选项体现货币的支付手段的是:
[*]
最新回复
(
0
)