首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
admin
2019-03-06
90
问题
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef struct node{
int data;
struct node*next;
}NODE;
void fun(NODE*h)
{ NODE*P,*q,*r;
/*********found*********/
P=h一>
【1】
;
/*********found*********/
if(p==
【2】
)return;
q=p一>next;
P一>next=NULL;
while(q)
{r=q一>next;q一>next=p;
/*********found*********/
p=q;q=
【3】
;
}
h一>next=p;
}
NODE*creatlist(int a[])
{ NODE*h,*p,*q;int i;
h=(NODE*)malloc(sizeof(NODE));
h一>next=NULL;
for(i=0;i<N;i++)
{ q=(NODE*)malloc(s~zeof
(NODE));
q一>data=a
;
q一>next=NULL;
if(h一>next==NULL)
h一>next=p=q;
else {p一>next=q;p=q;}
}
return h;
}
void outlist(NODE *h)
{ NODE*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("一>End\n");
}
}
main()
{ NODE*head;
int a[N]={2,4,6,8,10);
head=creatliSt(a);
printf("\nThe original
list:\n");
outlist(head);
fun(head);
printf("\nThe list after in-
verting:\n");
outlist(head);
}
选项
答案
(1)next (2)NULL (3)r
解析
填空1:本空考查了为p赋初值,根据题目的要求是将带头结点的单向链表逆置可知,p的初值应该为h一>next。
填空2:if判断语句表明当p等于什么时就要返回,因此只能当p等于NuLL时返回,不用做后面的链表的逆置了。
填空3:把q的指针向后移动,才能实现将带头结点的单向链表逆置。因此本空填写r。
转载请注明原文地址:https://kaotiyun.com/show/SbRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是______。main(){inta[]={31,27,20,12,6,1},*p=a;p++;printf("%d\n",*(p+
若有以下定义: inta[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是()
请选出以下程序的输出结果()。#include<stdio.h>sub(int*s,inty){staticintt=3;y=s[t];t--;}main(){int
下列程序的输出结果为main(){unionu{char*name;intage;intincome;}ss.name="WANGLIONG";s.age=28;s.income=1
有以下函数intaaa(char*s){char*t=S;while(*t++);t--;return(t-s);}以下关于aaa函数的功能的叙述正确的是
下列程序的运行结果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x
以下只有在使用时才为该类型变量分配内存的存储类型说明是()。
在下列字符序列中,不可用做C语言标识符的是()
数据库系统的核心是
软件设计包括软件的结构、数据、接口和过程设计,其中软件的过程设计是指()。
随机试题
多服久服对肝功能有一定损害的药物是
电子邮件是Internet应用最广泛的服务项目,通常采用的传输协议是
条码已成为商业自动化不可缺少的基本条件,在病案管理方面,条码已被许多医院用于病案管理的
患儿,4岁半,因前牙外伤1天就诊。检查见右上A冠折,露髓。探痛明显,叩(+)。如果患儿在治疗时极不合作,应该选择的治疗为()
阴阳的对立制约主要体现于何种过程中()。
在药物注册申报资料中有境外药物研究机构提供的药物试验研究资料的,必须附有
天津某进出口公司对斯里兰卡出口一批罐头,对外以CFR报价,在洽谈初期,由于无法得到斯里兰卡进口商的确切订购数量,只知道最少要订购10000件,这样如果设罐头的成本价是每件10元人民币,该公司在对外报价时将运费计算进去后应报每件()元人民币(假设这
道教官观一般由()四部分组成,布局多为传统的院落式。
工业生产综合体,指在专业化协作的基础上,把在生产技术和经济上有密切联系的不同部门、不同企业以及同一工业部门中各个生产阶段的生产经营活动联合在一个公司里进行的生产组织形式的通称。下列不属于这种综合体的一项是( )。
设f(x)在[a,b]上二阶可导,且f’(a)=f’(b)=0.证明:存在ξ∈(a,b),使得
最新回复
(
0
)