首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
admin
2018-09-27
39
问题
给定程序中,函数fun的功能是将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<stdlib.h>
3 #define N 5
4 typedef struct node {
5 int data;
6 struct node*next;
7 } NODE;
8 /**********found**********/
9 __1___ fun(NODE *h)
10 { NODE *p,*q,*r;
11 p=h;
12 if(P==NULL)
13 return NULL;
14 q=p->next;
15 p->next=NULL;
16 while(q)
17 {
18 /**********found**********/
19 r=q->___2___;
20 q->next=p;
21 p=q;
22 /**********found**********/
23 q=___3___;
24 }
25 return p;
26 }
27 NODE *creatlist(int a[])
28 {NODE*h,*p,*q;int i;
29 h=NULL;
30 for(i=0;i<N;i++)
31 {q=(NODE *)malloc(sizeof(NODE));
32 q->data=a
;
33 q->nex.t=NULL;
34 if(h==NULL)h=p=q;
35 else{p->next=q;p=q;}
36 }
37 return h;
38 }
39 void outlist(NODE *h)
40 {NODE *p;
41 p=h;
42 if(p==NULL)printf(’’The 1ist is NULL!in”);
43 else
44 {printf(’’\nHead’’);
45 do
46 { printf(’’->%d’’,p->data);p=p->next;}
47 while(p!=NULL);
48 printf(’’->End\n’’);
49 }
50 }
51 main()
52 {NODE *head;
53 int a[N]={2,4,6,8,10};
54 head=creatlist(a);
55 printf(’’\nThe original list:\n’’);
56 outlist(head);
57 head=fun(head);
58 printf(’’\nThe list after inverting:\n’’);
59 outlist(head);
60 }
选项
答案
(1)NODE* (2)next (3)r
解析
函数fun的功能是将不带头结点的单向链表逆置,链表的逆置从第二个结点开始,分别将结点的指针指向前一个结点便可完成单项链表的逆置。
第一空:主函数内fun函数调用形式是“head=fun(head);”,变量head是NODE指针,故fun函数的返回值是NODE指针,即第一空处应为“NODE*”。
第二空:while循环完成链表的倒置,在循环体内,p、q和r指针分别指向三个连续的结点,p指针在最前,然后是q指针,r指针在最后。将q指针指向p结点,p和q两个结点倒置,然后p、q和r再往后移动一个结点,继续对其他结点逆置。因此,第二空处r是q的后面一个结点,故第二空处为“next”。
第三空:由第二空的分析可知,第三空处是将q结点往后移动一个结点位置,故第三空处为“r”。
转载请注明原文地址:https://kaotiyun.com/show/cAxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是______。main(){intx=0210;printf("%x\n",x);}
数据独立性是数据库技术的重要特点之一,所谓数据独立性是指 _____。
软件工程研究的内容主要包括:【】技术和软件工程管理。
有如下程序: main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]!=’
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
以下关于函数的叙述中正确的是______。
“商品”与“顾客”两个实体集之间的联系一般是()。
下面定义的结构体类型包含3个成员,其中成员变量x用来存入整型数据,成员变量y用来存入实型数据,成员变量next是指向自身结构体的指针。请将定义补充完整。structstu{intx;【】【】next;}
以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);
随机试题
波峰焊焊接流水工艺中,涂助焊剂方式有()()(),刷涂式和浸涂式。
A.加味四物汤B.加味五淋散C.沉香散D.化阴煎E.一贯煎
A.华法林B.氯霉素C.卡托普利D.左氧氟沙星E.地西泮脂溶性较强,可分布到乳汁中,哺乳期妇女应避免使用的药品是
用内径8.0cm、高2.0cm的环刀切取饱和原状土试样,湿土质量m1=183g,进行固结试验后湿土的质量m2=171.0g,烘干后土的质量m3=131.4g,土的比重Gs=2.70。则经压缩后,土孔隙比变化量△e最接近下列哪个选项?
长江三峡某移民码头,根据施工图工程量计算出定额直接费为680万元,基价为643万元,试列表计算该工程项目的预算金额(其中相关费率分别为:冬、雨期;夜间施工增加费为0.8%,材料二次倒运费为0.5%,施工辅助费为1.1%,施工队伍进退场费为3.5%,临时设施
现金流量表中,“偿还债务支付的现金”项目不包括()。
甲公司为增值税一般纳税人,适用的增值税税率为17%。2014年度,甲公司发生的有关交易或事项如下:(1)甲公司以账面价值为50万元、市场价格为65万元的一批库存商品向乙公司投资,取得乙公司2%的股权。甲公司取得乙公司2%股权后,对乙公司不具有控制、共同控制
教师对学生进行德育必须遵循的基本要求是()。
【B1】【B10】
(浙江工商2012)金本位制崩溃的根本原因是()。
最新回复
(
0
)