首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数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
46
问题
给定程序中,函数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(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是______。
以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。main(){inti,a[20],sum,count;sum=count=0;for(i=0;i<20;i
已定义以下函数:fun(int*p){return*p;}该函数的返回值是______。
有以下程序:main(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}
有以下程序main()}inti,s=1;for(i=1;i<50;i++)if(!(i%5)&&!(i%3))s+=i;printf("%d/n",s);}程序的输出结果是
下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。intword(char*s){intnum=0,flag=0;while(*s){if(【】="
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流;【】和处理过程。
软件测试是保证软件质量的重要手段,而软件测试的主要和重要的测试方法是通过测试数据和【】的设计来实现。
有如下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("
数据库系统中实现各种数据管理功能的核心软件是______。
随机试题
体内药量按恒定的百分比消除是()。
在进行现金流量分析时,应考虑所确定的投资方案对财务主体其他部门可能产生的()。
某企业2004年利润总额200万元,上缴所得税66万元,当年在成本中列支的全部利息67万元,折旧、摊销20万元,还本金额80万元,该企业当年的偿债备付率为()。
甲承包商通过投标获得了某建设项目的施工总承包任务,并根据《建设工程施工合同(示范文本)》(GF—99—0201)签订了总承包合同。甲承包商将主体结构工程的施工劳务分包给了乙劳务分包公司,并根据《建设工程施工劳务分包合同(示范文本)》(GF—2003—021
张师傅携家人在曙光旅行社泰山经典游中权益受到侵害,由于不懂相关规定,在旅游结束10日)舌的公交车上跟同事说了自己的经历。旁边一位乘客听到后据此向旅游投诉处理机关发起投诉。旅游投诉处理机关对此投诉事件的裁决应该是()
下列设备中,属于输出设备的是()。
在一个如此欧洲化的地方,欧盟宪法理所当然成为了当地的一个焦点话题,令人感到_________的是,这里不是赞成的声音最响亮的地方,而是反对者的天下。填入画横线部分最恰当的一项是()。
ItseemstomethatthetimeisripefortheDepartmentofEmploymentandtheDepartmentofEducationtogettogetherwiththeu
Completethetablebelow.WriteNOMORETHANTWOWORDSforeachanswer.ProductSalesReport
A、Becauseoffearoflossamongthepeople.B、Becausefirebreakoutveryfrequently.C、Becausepeoplewillbenefitfromthepur
最新回复
(
0
)