首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数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
34
问题
给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 6
typedef struct node{
int data;
struer node *next;
}NODE ;
void fun(NODE*h)
(NODE*p,*q;int t;
/**********found**********/
p=____1____;
while(p){
/**********found**********/
q=____2____;
while(q){
/**********found**********/
if(p->data____3____q->data)
{ t=p->data; p->data=q->
data;q->data=t;}
q=q->next;
}
p=p->next;
}
}
NODE *creatlist(int a[])
{NODE*h,*p,*q;int i;
h=(NODE*)malloc(siZeOf(NODE));
h->next=NULL;
for(i=0; i
{q=(NODE*)malloc(sizeof(NODE));
q->data=a
;
q->next=NULL;
if(h->next==NULL)h->next=
p=q;
else {p->next=q; p=q;)
}
return h;
}
void outlist(NODE*h)
{NODE*p;
p=h->next;
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 sorting:
\n");
outlist(head);
}
选项
答案
(1)h->next (2)p->next (3)>=
解析
第一空:由审题分析可知,q从h的下一个元素开始寻找最小值,故第一空为“h->next”。
第二空:由审题分析可知,while循环是在剩下的元素当中找最小值,剩下的结点是由q指向的链表,q从p的后一个结点开始,故第二空处应为“p.>next”。
第三空:“if(p->data __3__ q->data)”是比较p结点和p结点数据的大小,如果p结点的数据比q结点的数据大,那么应该将p结点和q结点的数据进行交换,故第三空处应为“>=”。
转载请注明原文地址:https://kaotiyun.com/show/rkDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
最简单的交换排序方法是()。
以下程序的输出结果是______。#include<sulio.h>#defmeSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);
以下程序的输出结果是______。intx=3;main(){inti;for(i=1;i<x;i++)incre();}incre(){sta
以下程序的输出结果是______。intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti
#define能作简单的替代,用宏来替代计算多项式5*x*x+5*x+5的值的函数f,正确的宏定义语句为()。
下列二维数组初始化语句中,不正确的是()。
下面程序的运行结果是【】。#include<stdio.h>#defineSIZE12main(){chars[SIZE];inti;for(i=0;i<SIZE;i++)s[i]=’A’+i+321;
若有定义语句chars[100],d[100];intj=0,i=0;且s中已赋字符串,请填空以实现拷贝。(注:不使用逗号表达式)whi1e()s[i]){d[j]=【】:j++;}d[j]=0;
以下程序的功能是进行位运算:main(){unsignedchara,b;a=7^3;b=~4&3;printf("%d%d\n",a,b);}程序运行后的输出结果是______。
函数fun的功能是计算xn:doublefun(doublex,intn){inti;doubley=1;for(i;=1;i<=n;i++)y=y*x;returny;}主函数中已
随机试题
下列导流方式中,属于混凝土坝分段围堰法导流方式的是()导流。
古人所说的“不夜侯”“仙芽”“雀舌”,指的是()。
整体式滑动轴承的装配要抓住四个要点,即压入轴套、轴套定位、修整轴套孔、轴套的检验。()
IEEE802.3标准中使用的媒体访问控制方式是TokenBus。()
心内膜心肌纤维化的病变有
A.肝淤血B.急性肝炎C.脂肪肝D.右下肺不张E.肝硬化肝明显大,肝颈回流征阳性见于
下列属于安装专业工程措施项目的有()。
关于施工现场消火栓间距和距房屋,路边的距离的说法,正确的有()。
读水循环示意图,回答问题。写出水循环的环节:②___________;③___________;④___________;⑥___________。
Inthecat-and-mousemaneuveringoveradmissiontoprestigiouscollegesanduniversities,【M1】thousandsofhighschoolshavesimp
最新回复
(
0
)