首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 请在程序的下画线处填入正确的内容并将下画线删除,使
下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。 请在程序的下画线处填入正确的内容并将下画线删除,使
admin
2018-03-28
44
问题
下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<Stdlib.h>
#define N 8
typedef struct list
{ int data;
struer list*next;
}ST,TST;
void fun(SLIST * h,int x)
{ SLTST*p,*q,*s;
S=(SLIST*)malloc(sizeof
(SLIST));
/*********found*********/
s一>data=
【1】
;
q=h;
p=h一>next;
wh21e(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(si zeof(SLIST));
for(i=0;i<N;i++)
{q=(SLIST*)malloc(si zeof(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("\nThe 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 (3)s
解析
本题考查:链表的基本操作。了解链表的基本思想和相关算法,理解有关链表插入及删除时指针移动的先后顺序问题,注意指针的保存和归位。
填空1:将形参x赋值给结点的数据域。
填空2和填空3:将新的结点和原有链表中的结点进行比较。
转载请注明原文地址:https://kaotiyun.com/show/mDxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<stdio.h>#defineF(x)2.84+x#definew(y)printf("%d",(int)(y))#defineP(y)w(y)putchar(’\n
下列语句执行后的结果是______。y=5;p=;x=*p++;
若有如下语句:intx=3;do{printf("%d\n",x-=2);}wbile(!(--x));则上面程序段()。
若有以下程序段:intm=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是()。
有三个关系R?S和T如下:则由关系R和S得到关系T的操作是
有以下程序#inculde#deFineSUB(a)(a)(a)main(){inta=2,B=3,c=5,d;d=SUB(a+B)*c;printF(”%d\n”,d);}程序运行后的输山结果是
下列程序的运行结果是______。voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&
以下程序的输出结果是______。main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i
下列属于不合法的main函数命令行参数表示形式的是()。
以下选项中可作为C语言合法整数的是()。
随机试题
桥梁上栏杆间距通常应为()。[2012年真题]
不孕症患者,检测是否排卵,取子宫内膜进行检查的时间是经前
[2010年,第16题;2006年,第18题]微分方程y’’+2y=0的通解是()。
创业板指数以()为权数,进行加权逐日连锁计算。
王某是甲公司聘用的司机,其为公司提供的运输服务取得的工资收入应当按照“交通运输服务”缴纳增值税。()
下列关于文学常识的说法错误的是()。
暴雨预警信号分四级,分别以蓝色、黄色、橙色、红色表示。下列说法错误的是()。
某校进行了一项通过反思活动提高学生知识迁移能力的实验研究。研究者将高中一年级的5个自然班,用抽签的方法决定其中一个为实验班,另一个为对照班(控制班)。实验前对两个班学生的知识迁移能力进行了统一测试。实验开始后,两个班级使用同样的教材、保持同样的进度。对照班
摆线(a>0,0≤t≤2π)绕x轴旋转一周所成曲面的表面积为________.
Virtuallynobodyhasmemoriesfromveryearlychildhood—butit’snotbecausewedon’tretaininformationasyoungchildren.Rath
最新回复
(
0
)