首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得
admin
2020-01-10
41
问题
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#inc2ude
#define N 8
typedef struer list
{ int data;
Struct list *next;
}SLIST;
void fun(SLIST*h,int x)
{SLIST*p,*q,*s;
s=(SLIST*)malloc(sizeof(SLIST));
/**********found**********/
s->data=____1____;
q=h;
p=h->next;
while(p!=NULL&&x>p->data){
/**********found**********/
q=____2____;
p=p->next;
}
s->next=p;
/**********found**********/
q->next=____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 x;
int a[N]={11,12,15,18,19,22,25,
29};
head=creatliSt(a);
printf("\nfhe list before inserting:
\n"); outlist(head);
printf("\nEnter a number:");
Scanf("%d",&X);
fun(head,x);
printf("\nThe list after inserting:
\n");outlist(head);
}
选项
答案
(1)x (2)p t 3)s
解析
第一空:“s=(SLIST*)malloc(sizeof(SLIST));”显然s是一个新结点,第一空处是给新结点的数据域赋值x,因此第一空处应该是“s->data=x;”。
第二空:循环“while(p!=NuLL&&x>p->data)”是用来寻找插入位置,当链表没有结束且x仍然火于p所指向的结点的数据时,就不断的向链表后面搜索。在循环体内,语句“p=p->next;”是找到下一个结点的地址,变量q用来保存当前结点的地址,因此第二空处应该是“q=p;”。
第三空:“s->next=p;”将s插入链表当中,s指向p,此时s结点已经指向需要插入位置的下一个节点,因此在需要插入s结点的位置的上一个结点需要指向s结点,故第三处应该为“q->next=s;”。
转载请注明原文地址:https://kaotiyun.com/show/LFCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在以下给出的表达式中,与while(E)中的(E)不等价的表达式是
已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。注意:部分源程序在文件PROG1.C中。请勿改动
编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如,若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括
下列给定程序中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。请改正程序中的错误,使它得出正确的结果。注意:不要改动main函数,不得增
假定已建立以下链表结构,且指针p和q己指向如图所示的节点:则以下选项中可将q所指节点从链表中删除并释放该节点的语句组是
C语言程序中,运算对象必须是整型数的运算符是
设序列长度为n,在最坏情况下,时间复杂度为O(10g2n)的算法是()。
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。
设二叉树共有150个节点,其中度为1的节点有10个,则该二叉树中的叶子节点数为()。
随机试题
下列各项,可用阴阳消长来解释的是
法院应当受理下列哪些对政府信息公开行为提起的诉讼?
建设项目竣工环境保护验收时,对非稳定废水连续排放源,一般应采用加密的等时间采样和测试方法,一般以每日开工时间或24h为周期,采用不少于()周期。
施工承包单位中专业承包企业的资质分为()。
根据下面材料,回答问题。去年全社会固定资产投资278140亿元,比上年增长23.8%,扣除价格因素,实际增长19.5%。其中,城镇投资241415亿元,增长24.5%;农村投资36725亿元,增长19.7%。东部地区投资115970亿元,
个人目的最少而社会目的最多的行为是()。
WhenCongresspassedtheAgeDiscriminationinEmploymentAct,itgaveolderAmericansabroadrighttosuefordiscrimination.
Whatdoesthemanwanttoknow?
Acurrentfocusisontheutilizationofthesetechnologiesforenvironmentallybenigngasandoilwelloperations.
Whatisthepossiblerelationshipbetweenthetwospeakers?
最新回复
(
0
)