首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、 10。 请在程序的下划线处填入正确的内容并把下
给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、 10。 请在程序的下划线处填入正确的内容并把下
admin
2016-10-29
57
问题
给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、 10。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#clefitie N 6
typedef struct node {
int data;
struct riode*next;
}NODE;
void fun(NODE*h)
{NODE*p,*q;int t;
p=h;
while(o){
/**********found**********/
q=____1____;
/**********found**********/
while(____2____)
{ if(p->data>q->data)
{t=p->data;p->data=q->
data ; q->data=t;}
q=q->next;
}
/**********found**********/
p=____3____;
}
}
NODE*creatliSt(int a[])
{NODE*h,*p,*q;int i;
h=NULL;
for(i=0;i
{q=(NODE*)malloc(sizeof(NODE));
q->data=a
;
q->next=NULL;
if(h==NULL)h=p=q;
else { p->next=q; p=q;}
}
return h;
}
void outlist(NODE*h)
{NODE*p;
p=h ;
if(p==NULL)printf("The list is
NULL!\n");
else
{printf("\nHead");
do
{printf("->%d”,p->data); p=p
->next;}
while(p!=NULL);
printf("->End\n");
}
}
main()
{NODE*head;
int a[N]={0,10,4,2,8,6};
head=creatlist(a);
printf("\nThe original list:\n");
outlist(head);
fun(head);
printf("\nThe list after inverting:
\n");
outlist(head);
}
选项
答案
(1)p->next (2)q (3)p->next
解析
第一空:由审题分析可知,q从p的下一个元素开始寻找最小值,故第一空为“p->next”。
第二空:由审题分析可知,“while(__2__)”是在剩下的元素当中找最小值,剩下的结点是由q指向的链表,故第二空处的循环条件是q不为NULL链表就存在元素继续往后搜索,故第二空处为“q”。
第三空:由审题分析可知,q指向p的下一个结点,下次外循环进入的继续寻找剩余结点的最小值,故第三空处应为“p->next”。
转载请注明原文地址:https://kaotiyun.com/show/zVDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有下列函数定义:intfun(doublea,doubleb){returna*b;}若下列选项中所用变量都已正确定义并赋值,错误的函数调用是()。
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
若有定义语句chars[100],d[100];intj=0,i=0;且s中已赋字符串,请填空以实现拷贝。(注:不使用逗号表达式)whi1e()s[i]){d[j]=【】:j++;}d[j]=0;
数据元素之间【】的整体称为逻辑结构。
有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;}程序在执行了c=&b;b=&a;语句后,表达式**c的值是______。
诊断和改正程序中错误的工作通常称为【】。
有以下程序:main(){intx=0,y=5,z=31while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);
有以下程序段chareh;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行
以下选项中可以作为C语言中合法整数的是______。
有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是______。
随机试题
我国规定的传染病管理报告制度中,下列哪项是不正确的
饱食后急诊手术病人进行全身麻醉时易发生
A、白芨B、仙鹤草C、棕榈炭D、血余炭E、炮姜具有杀虫功效的药物是
中年妇女乳头鲜红色血性溢液应首先考虑
患者,女性,35岁,患甲状腺功能亢进症,患者易激动,烦躁易怒,多虑,此时最主要的措施是()。
某柱下独立基础底面尺寸为3m×4m,传至基础底面的平均压力为300kPa,基础埋深3.0m,地下水埋深4.0m,地基的天然重度20kN/m3,压缩模量Es1=15MPa,软弱下卧层顶面埋深6m,压缩模量Es2=5MPa,在验算下卧层强度时
(2019年陕西)下列说法错误的是()。
设n维向量α1,α2,…,αs,下列命题中正确的是
中继器工作在OSI的物理层,它不转换或过滤数据包,因而要求连接的两个网络()。
设组合框Combo1中有3个项目,则以下能删除最后一项的语句是______。
最新回复
(
0
)