首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
admin
2017-07-27
50
问题
给定程序中,函数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 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)h->next=p=q;
32 else{p->next=q;p=q;}
33 }
34 return h;
35 }
36 void outlist(NODE *h)
37 { NODE *p;
38 p=h->next;
39 if(p==NULL)printf(’’The 1ist is NULL!\n’’);
40 else
41 { printf(’’\nHead’’);
42 do
43 { printf(’’->%d”,p->data);p=p->next;}
44 while(p!=NULL);
45 printf(’’->End\n’’);
46 }
47 }
48 main()
49 { NODE *head;
50 int a[N]={2,4,6,8,10};
51 head=creatlist(a);
52 printf(’’\nThe original list:\n’’);
53 outlist(head);
54 fun(head);
55 printf(’’\nThe list after inverting:\n¨);
56 outlist(head);
57 }
选项
答案
(1)next (2)0或NULL (3) r
解析
函数fun的功能是将带头结点的单向链表逆置。第一空:“p=h->__1__;”对结点p进行初始化,由审题分析可知,p初始化为链表的第二个结点,即p->next,故第一空处应为“next”。第二空:“if(p==__2__)return;”如果链表只有一个结点,无需逆置,即第二空处为“0”或“\0”或“NULL”。第三空:循环内完成结点的指针指向前一个结点,“r=q->next;”r已经指向q的下一个结点,“q->next=p;”将q结点指向链表的前一个结点,“p=q;”是将p结点往后移动一个结点位置,第三空处是q结点往后移动一个结点位置,即第三空处为“r”。
转载请注明原文地址:https://jikaoti.com/ti/6Fi0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列关于C语言数据文件的叙述中正确的是()。
若a、b、c、d都是int型变量且都已经正确赋初值,则以下不正确的赋值语句是()。
uniondt{inta;charb;doublec;}data;以下叙述中错误的是()。
有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen("d2.dat","wb");fwrite(a,sizeof(int)
有以下函数定义:intfun(doublea,doubleB){returna*b;}若以下选项中所用变量都已正确定义并赋值,错误的函数调用是()。
下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!=’c’)s[j++]=
定义inta=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出的结果为()。
在下列选项中,没有构成死循环的程序段是()。
某二叉树中度为2的结点有10个,则该二叉树中有()个叶子结点。
下列程序输出结果是()。#includemain(){chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’\0’};inti,j;i=sizeof(a);
随机试题
児童の________時に保護者による送迎がない日本社会においても、近年では、地域住民による通学路の見守り活動が実施されるようになってきている。
男性,18岁。昨天腹泻,大便5~6次,稀便,今天转为黏液脓性便,约2小时1次,量少,伴里急后重,来院诊治。体检:腹软,左下腹有压痛,肠鸣音亢进。化验:WBC14.6×109/L,N0.86(86%),大便光镜检RBC20/HP,WBC满视野,巨噬细胞
女患者,49岁,月经紊乱半年,伴烘热汗出,头晕耳鸣,心烦易怒,腰膝酸软,大便干结,尿少色黄,舌红少苔,脉细数。中医辨证为
某地拟建一公路,全长116.8km,项目沿线经过5个镇、10个村、2个工业区。所选路线跨越一级水源保护区、风景旅游区和一个自然保护区,跨过一条河流和两座山,周边还包括超高压变电站。沿线某些路段现有道路,将道路进行拓宽,标准路幅宽75m,主道双向八车道,两侧
根据《中华人民共和国合同法》,属于可变更、可撤销合同的是()的合同。
按照《中华人民共和国城市规划法》的规定,城市详细规划的内容应包括( )。
个体身心发展存在高峰期和平稳期,在幼儿时期和中小学时期进入个体发展的高峰期。这体现人的发展的()。
与“欲穷千里目,更上一层楼”有异曲同工之妙的诗句是:
请根据选项特点,排除下列题的部分选项:(2010年河北)对这段话概括最准确的是()。
WhatkindofcityisTokyo?
最新回复
(
0
)