首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的
下列给定程序中,已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的
admin
2022-06-24
48
问题
下列给定程序中,已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数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
3
}
}
}
}
}
SLIST*ereatlist(Int*a)
{
SLIST*h,*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)
{
q=(SIJST*)malloc(sizeof(SLIST));
q->data=
;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]={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/mLkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序#includestructSTU{charname[9];charsex;intscore[2];};voidf(structSTUa[]){structSTUb={"Zha
有以下程序#include#includetypedefstruct{charname[10];charsex;intage;}STU;voidfun(STUt){strcpy(t.name,"Tong");t.
以下选项中,值为1的表达式是
有以下程序#include<stdio.h>main(){intc[6]={10,20,30,40,50,60},*p,*s;p=c;s=&c[5];printf("%d\n",s-p);}程序运行后的输出结果是
有以下程序intfun1(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}mai
下列选项中,不属于模块间耦合的是()。
下面关于位运算符的叙述,正确的是
已知“inta=6;”则执行“a+=a-=a*a;”语句后,a的值为()。
一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是
随机试题
在将Flash图像导出为矢量图形文件(AdobeIllustrator格式)时,可以保留其矢量信息。
A.研钵B.万能粉碎机C.球磨机D.微粉机E.流能磨适用于腑性物料、韧性物料、中碎、细碎、超细碎等的为
血府逐瘀汤的功用是
建设工程合同纠纷由()的仲裁委员会仲裁。
小张投资60000元购买某基金,购买时基金的单位净资产值为14元。已知5个月后,小李一次性卖出全部基金,卖出时基金的单位净资产值上升为91元。该基金的费率结构如下所示,不考虑基金管理费、托管费等其他费用,则下列说法中正确的有( )。
()是企业单位组织实施绩效管理活动的准则和行为的规范。
结婚的必要条件包括()。
巴黎著名的协和广场曾几度更名,见证了法国革命的曲折历史。1793年时是“革命广场”,1795年更名为“协和广场”,将这些名称与下列历史时期相对应并按时序排列正确的是()。 ①波旁王朝复辟时期②七月王朝时期③雅各宾派专政时期④督政府时期
甲与乙共谋次日共同杀丙,但次日甲因腹泻未能前往犯罪地点,乙独自一人杀死丙。关于本案,下列说法正确的是()
Wherecanpeoplefindthetallestredwoodtrees?
最新回复
(
0
)