首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数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
54
问题
给定程序中,函数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);}执行后的输出结果是______。
有以下程序:main(){chara,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若运行时从键盘上
以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。#defineM2#defineN4
以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。main(){inti,a[20],sum,count;sum=count=0;for(i=0;i<20;i
以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main()/*Beginning*/{intr;floats;scanf("%d",&r);s=*π*r*r*r;printf("
下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#include<stdio.h>#include<ctype.h>main(){charc;
软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
随机试题
某物品的年需求量为3000单位,物品的单位成本为12元,平均订货成本为20元/次,持有成本库存费用率为25%,则该物品的经济订购批量为()
调节血Ca2+浓度的激素有
痄腮热毒蕴结型的首选方是:
膀胱造影的方法不包括
短效口服避孕药含
教师的知识结构中,小学英语教师所拥有的英语学科知识属于()。
设f(x)有界,且f’(x)连续,对任意的x∈(-∞,+∞)有|f(x)+f’(x)|≤1.证明:|f(x)|≤1.
Inrecentyearsmanycountriesoftheworldhavebeenfacedwiththeproblemofhowtomaketheirworkersmoreproductive.Some
SheisoneofthefewpeoplehereIcanunderstandproperly;shepronouncesallherwordsso______.
Evenamodestamountofstepsisassociatedwithlowermortality.
最新回复
(
0
)