首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
admin
2016-12-06
40
问题
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
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 void fun(NODE * h)
9 ( NODE *p, *q, *r;
10 /*********found*********/
11 p=h->
【1】
;
12 /*********found*********/
13 if(p==
【2】
)return;
14 q=p->next;
15 p->next=NULL;
16 while(q)
17 {r=q->next;q->next=p;
18 /********* found*********/
19 p=q;q=
【3】
;
20 }
21 h->next=p;
22 }
23 NODE * creatlist(int a[])
24 { NODE * h,*p,*q;int i;
25 h=(NODE * )malloc(sizeof(NODE));
26 h->next=NULL;
27 for(i=0 ; i<N;i++)
28 { q=(NODE * )malloc(sizeof(NODE));
29 q->data=a
;
30 q->next=NULL;
31 if(h->next==NULL)
32 h->next=p=q;
33 else{p->next=q ; p=q;}
34 }
35 return h;
36 }
37 void outlist(NODE*h)
38 { NODE*p;
39 p=h->next;
40 if(p==NULL)
41 printf(’’The list is NULL!\n’’);
42 else
43 {printf(’’\nHead’’);
44 do
45 {printf(’’->%d’’,p->data);
46 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 fun(head);
58 printf(’’\nThe list after in-verting:\n’’);
59 outlist(head);
60 }
选项
答案
(1)next (2)NULL (3)r
解析
填空1:本空考查了为p赋初值,根据题目的要求是将带头结点的单向链表逆置可知,p的初值应该为h->next。
填空2:if判断语句表明当p等于什么时就要返回,因此只能当p等于NULL时返回,不用做后面的链表的逆置了。
填空3:把q的指针向后移动,才能实现将带头结点的单向链表逆置。因此本空填写r。
转载请注明原文地址:https://kaotiyun.com/show/CNDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后的输出结果是______。
以下程序中函数huiwen的功能是检查一个宁符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空______。#include<s
以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。#defineM2#defineN4
以下程序的功能是将字符串s中的数字字符放人d数组中,最后输出d中的字符串。例如,输入字符串abc123edf456gh,执行程序后输出123456。请填空。#include<stdio.h>#inclu
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
已定义以下函数:fun(int*p){return*p;}该函数的返回值是______。
下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#include<stdio.h>#include<ctype.h>main(){charc;
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流;【】和处理过程。
随机试题
紫外线对DNA的损伤主要是
在下列哪个部位闻及支气管呼吸音属于病理性呼吸音( )。
红细胞生成的基本原料是
A.10℃B.15℃C.20℃D.25℃E.30℃药品批发企业的药品冷库的温度不得高于
会计职业道德检查与奖惩的机制包括( )。
资本密集型产业与劳动密集型产业的区别
不属于利:区工作启动阶段的介入策略的是()。
检察机关对甲作出附条件不起诉的决定,甲在考验期内遵纪守法、表现合格。考验期满,人民检察院应当:
(2010年简答56)简述民事法律行为的有效条件。
一群艺术历史学家要确定某些近期发现的原稿的创作时间,每一幅画都是用几种不同的颜料创作的。这些历史学家请了一位化学家来测试这些画上6种颜料出现的时间。现已知这些颜料第一次被生产的时间,并且还知道某些颜料停止生产使用的时间,如下所示:颜料1:公元1100年开
最新回复
(
0
)