首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10。 请在程序的下画线处填入正确的内容并把下画线删
给定程序中,函数fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10。 请在程序的下画线处填入正确的内容并把下画线删
admin
2016-12-06
61
问题
给定程序中,函数fun的功能是:将不带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.h>
2 #include<stdlib.h>
3 #define N 6
4 typedef struct node {
5 int data;
6 struct node * next;
7 } NODE ;
8 void fun(NODE * h)
9 { NODE * p,*q;int t;
10 p=h;
11 while(p){
12 /*********found*********/
13 q=
【1】
;
14 /*********found*********/
15 while(
【2】
)
16 {if(p->data>q->data)
17 {t=p->data;
18 p->data=q->data;
19 q->data=t;)
20 q=q->next ;
21 }
22 /*********found*********/
23 p=
【3】
;
24 }
25 }
26 NODE * creatlist(int a[])
27 { NODE * h,*p,*q;int i ;
28 h=NULL;
29 for(i=0;i<N;i++){ q=(NODE*)malloc(sizeof
30 (NODE));
31 q->data=a
;
32 q->next=NULL;
33 if(h==NULL)h=p=q;
34 else{p->next=q;p=q;}
35 }
36 return h;
37 }
38 void outlist(NODE*h)
39 { NODE*p;
40 p=h;
41 if(p==NULL)
42 printf("The list is NULL!\n’’);
43 else
44 {printf(’’\nHead’’);
45 do
46 {printf(’’->%d’’,p->data);
47 p=p->next;}
48 while(p!=NULL);
49 printf(’’->End\n’’);
50 }
51 }
52 main()
53 { NODE * head;
54 int a[N]={0,10,4,2,8,6};
55 head=creatlist(a); printf(’’\nThe original
56 list:\n’’);
57 outlist(head);
58 fun(head);printf(’’\nThe list after
59 inverting:\n’’);
60 outlist(head);
61 }
选项
答案
(1)p->next (2)q (3)p->next
解析
填空1:从第2个while循环可知,q的初值应该为p的next,故此空应该填写p->next。
填空2:第2个while循环表示的是每次从链表剩下的树中找出最小的数,因此此空应该以q是否为空来判断循环是否结束,所以此空应该填写q。
填空3:当找到一个最小的数时p应该向后移,因此此空应该填写p->next。
转载请注明原文地址:https://kaotiyun.com/show/hNDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;}程序在执行了c=&b;b=&a;语句后,表达式**c的值是______。
有以下程序:main(){charal=’M’a2=’m’;printf("%c\n",(al,a2));}以下叙述中正确的是______。
在关系数据库中,把数据表示成二维表,每一个二维表称为【】。
设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是______。
有以下定义:#include<stdio.h>chara[l0],*b=a;不能给a数组输入字符串的语句是______。
设有定义:intA,*pA=&A;,以下scanf语句中能正确为变量A读入数据的是______。
以下选项中可以作为C语言中合法整数的是______。
结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、【】和限制使用goto语句。
以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序:floatsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;
数据库系统中实现各种数据管理功能的核心软件是______。
随机试题
[*]
患者女,60岁,农民,因“双眼视力逐渐下降5年”来眼科门诊求医。患者于5年前出现双眼视力逐渐下降,不伴眼红、眼痛、眼胀等不适。近半年右眼几乎看不见物体,曾经在某医院诊断为右眼老年性白内障已成熟,现要求行右眼复明手术。既往史:近数年常有多尿口渴,多饮、多食、
关于横膈的叙述,错误的是
下列关合同要素拟定法特点,说法不正确的是()。
下列污染物中,属于《恶臭污染物排放标准》规定的控制项目是()。
城镇体系规划主要图纸应包括()。
下列关于世界范围的城市化进程的几个阶段,正确的是()。①1760—1851年:世界城市化的兴起、验证和示范阶段②1851—1950年:城市化在欧洲和北美等发达国家的推广、普及和基本实现阶段③1950至今:城市化在全世界范围内推广、普及和加快
下列各项中,应计入管理费用的是()。
通信信道的每一端可以是发送端,也可以是接收端,信息可由这一端传输到那一端,也可以由那一端传输到这一端。但在同一时刻里,信息只能有一个传输方向的信道方式称为______。
WhatdoyouknowaboutGeorgeDaniels?
最新回复
(
0
)