首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下画线处填入正确的内容并把下画线删
给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下画线处填入正确的内容并把下画线删
admin
2020-07-28
69
问题
给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BIANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
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 /*********found*********/
11 p=
【1】
;
12 while(p){
13 /*********found*********/
14 q=
【2】
;
15 while(q){
16 /*********found*********/
17 if(p->data
【3】
q->data)
18 {t=p->data;
19 p->data=q->data;
20 q->data=t;}
21 q=q->next;
22 }
23 p=p->next;
24 }
25 }
26 NODE* creatlist(int a[])
27 {NODE*h,*p,*q; int i;
28 h=(NODE*)malloc(si zeof (NODE));
29 h->next=NULL;
30 for(i=0;i<N;i++)
31 {q=(NODE*)malloc(sizeof (NODE));
32 q->data=a
;
33 q->next=NULL;
34 if(h->next==NULL)
35 h->next=P=q;
36 else{p->next=q;p=q;}
37 }
38 return h;
39 }
40 void outlist(NODE*h)
41 {NODE*p;
42 p=h->next;
43 if(p==NULL)
44 printf(’’The list is NULL!\n’’);
45 else
46 {printf(’’\nHead’’);
47 do
48 {printf(’’->%d’’,p->data);
49 p=p->next;}
50 while(p!=NULL);
51 printf(’’->End\n’’);
52 }
53 }
54 main( )
55 {NODE*head;
56 int a[N]={0,10,4,2,8,6};
57 head=creatlist(a);
58 printf(’’\nThe original list:\n’’);
59 outlist(head);
60 fun(head);
61 printf (’’\nThe list after sor-ting:\n’’);
62 outlist(head);
63 }
选项
答案
(1)h->next(2)p->next(3)>
解析
填空1:本题考查了指针变量p赋初值,使p指向链表的头结点的下一个结点,因此本空应该填写h->next。
填空2:本空考查了q的作用,q代表p的下一个数,因此次空应该填写p->next。
填空3:if判断句是比较链表中相邻两个数的大小,如果p->data>q->data就交换这两个数的值,因而此空填写>。
转载请注明原文地址:https://www.kaotiyun.com/show/wL3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有以下程序#include<stdio.h>int*f(int*s,int*t){intk;if(*s<*t){k=*s;*s=*t;*t=k;}returns;}main(){inti=3,j=
设有定义:doublea,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处□代表一个空格)□□1.0□□2.0□□3.0则能进行正确输入的语句是
若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)
下面不属于软件需求分析阶段任务的是
生产每种产品需要多种零件,则实体产品和零件间的联系是
构成计算机软件的是
若有定义语句:intx=12,y=8,z;在其后执行语句z=0.9+x/y;则z的值为
设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列正常的入栈与退栈操作后,top=0,则栈中的元素个数为
下列叙述中正确的是
下列条件语句中,输出结果与其他语句不同的是
随机试题
对于老年性瘙痒病的预防以下叙述不正确的是
生态系统内形成的生态平衡,是何种性质的平衡()。
胆囊结石的疼痛特点不包括()
以下关于股票分割的说法,错误的是()。
某外国游客要求会见多年未见的在华亲友,导游可陪同前往。()
一台交换机具有24个10/100Mbit/s全双工端口和2个1000Mbit/s全双工端口,如果所有端口都工作在全双工状态,那么该交换机总带宽为()。
一つお________したいことがあります。(聞く)
Nowadays,incominggenerationsreallyrelynowonthepowerofthe"Internet"whenitcomestosearchingforinformation.Justt
ExerciseIsGoodforYourBodyandYourMind[A]Thebenefitsofexercisearewidelyknown:ithelpsyoulivelongerandlowe
【S1】【S9】
最新回复
(
0
)