首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件
admin
2020-10-26
53
问题
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#defitie 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)
{STIST*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(SLTST*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()
{SLTST*head;int a[N]={1,2,2,3,4,
4,4,5};
head=crearlist(a);
prinLf("\nThe list before deleting:
\n");outlist(head);
fun(head);
printf("\nThe list after deleting:
\n");outliSt(head);
}
选项
答案
(1)q (?)next (3)next
解析
第一空:p和q是两个SLIST结构体指针,分别指向两个相邻的结点。“if(p->data==q->data)”成立则应该删除其中一个结点,“p->next=q->next;”p指向q的下一个结点,那么q结点就可以删除了,因此第一空处应该为“free(q);”。
第二空:在第一空处,q指向的结点已经被删除,如果要继续循环搜索数据域值相同的结点,那么q需要重新指向p的下一个结点,因此第二空处应该为“q=p->next;”。
第三空:如果“if(p->data==q->data)”不成立,那么p和q都向结点尾移动一个结点位置,因此第三空处应该是“q=q->next;”。
转载请注明原文地址:https://kaotiyun.com/show/zx3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}执行后的输出结果是
若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是
有以下程序,程序运行后的输出结果是#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}
若变量均己正确定义并赋值,以下合法的C语言赋值语句是
设有如下的说明和定义struct{inta;char*s;}x,*p=&x;x.a=4;x.s="hello";则以下叙述中正确的是
有3个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
已知字符‘A’的ASCII代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。则执行语句printf("%d,%d",c1,c2-2);的输出结果是()。
将E-R图转换为关系模式时,实体和联系都可以表示为()。【09年3月】
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
随机试题
急性风湿病最常见的致死原因是
开发利润与开发完成后的房地产价值之比为()。
下列关于已获利息倍数的说法正确的是()。
(2014年)下列薪酬内容中,与员工的工作绩效无关,具有促使员工忠诚于企业作用的是()。
某公司今年的股利支付率为50%,该公司每股收益和每股股利的增长率都是5%,公司股票与市场组合的相关系数为0.8,公司股票的标准差为16%,市场组合的标准差为8%,政府长期债券利率为4%,股票市场的风险附加率为5%,则该公司的本期市盈率为()。
TS集团公司在刚刚起步时,曾在报纸上公开刊登向社会招聘高级技术管理人才的广告,在一周内就有200余名专业技术人员前来报名,自荐担任TS集团的经理、部门主管、总工程师等。公司专门从某大学聘请了人力资源管理方面的专家组成招聘团,并由总裁亲自参加。随后,招聘团对
因校舍使用不当或失修造成房屋倒塌造成学生伤亡事故的,主要责任人应追究()。
国民性的自检在漫长而艰辛的岁月流变中,时而被唤起。对国民性的否定性叙述不断地被稳定化。萨义德东方主义理论认为,来自强大文化的叙述可以形成一种霸权,并会遮蔽对此提出异议的可能性。这个理论提供的解释方法,被运用到百年来对中国国民性的解释之后,引发过一阵不小的争
有人提议把古老运河建成“水上高速”。大运河山东段据说提出要大规模投资重新开挖被湮没的古河道,重建分水工程,以重现昔日辉煌。问题在于,大运河的功能已经发生了重大变化,以往农耕时代的“水上通衢”地位已让位于工业时代的铁路和公路。山东济宁以北的河段早已断流,水文
引入动态重定位的目的是什么?
最新回复
(
0
)