首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域,从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线
给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域,从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线
admin
2013-04-02
30
问题
给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域,从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKI.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 6
typedef struct node {
int data;
struct 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);
}
选项
答案
h->next p->next >=
解析
第一空:由审题分析可知,q从h的下一个元素开始寻找最小值,故第一空为“h->next”。
第二空:由审题分析可知,while 循环是在剩下的元素当中找最小值,剩下的结点是由q指向的链表,q从p的后一个结点开始,故第二空处应为“p->next”。
第三空:“if (p->data __3__ q->data)”是比较p结点和p结点数据的大小,如果p结点的数据比q结点的数据大,那么应该将p结点和q结点的数据进行交换,故第三空处应为“>=”。
转载请注明原文地址:https://jikaoti.com/ti/pnn0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序: void sort(int a[],int n) { int i,j,t; for(i=0;i<n;i++) for(j=i+1;<n;j++) if(a[i]<a[j]){ t=a[
设函数fun的定义形式为: void fun(char ch,float x) { …… } 则以下对函数fun的调用语句中,正确的是 ______。
设变量已正确定义,则以下能正确计算f=n!的程序段是 ______。
以下关于函数的叙述中正确的是 ______。
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135则输出531。请填空。#include<stdio.h>main(){intn,s;printf("Ente
若变量已删除正确定义,则以下语句的输出结果是______。 s=32; s^=32; printf("%d",s);
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。若有以下程序段 q=s; s=s->next; p=s; while(p->next) p
设有说明structDATE{intyear;intmonth;intday;};请写出一条定义语句,该语句定义d为上述结构体类型变量,并同时为其成员year、month、day依次赋初值2006、10、1:【】。
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
随机试题
布一加(Budd—Chiari)综合征
对马斯洛人类基本需要各层次间关系的理解,正确的是
一般雨水管道衔接以管顶平接为原则,但若当条件不利时也可采用()。
不直接承受动力荷载且钢材的各项性能满足塑性设计要求的下列钢结构:I.符合计算简图1-7a,材料采用Q345钢,截面均采用焊接H形钢H300×200×8×12;Ⅱ.符合计算简图1-7b,材料采用Q345钢,截面均采用焊接H形钢H300×2
招标人有下列情形之一的,可以对单位直接负责的主管人员和其他直接责任人员依法给予处分的有()。
A.atwhichB.takeupC.positivePhrases:A.neverto【T7】________smokingtobeginwithB.whichisa【T8】____
软件系统生命周期的第一个阶段是()。
WhyBuyShade-GrownCoffee?Whenpeopleargueaboutwhethercoffeeisgoodforhealth,they’reusuallythinkingofthehealt
It’sbecomingsomethingofajokealongtheMaine-Canadaborder.Somanybusloadsofretiredpeoplecrisscrossthelinelooking
Disposingofgarbagehasbeenaproblemsincehumansstartedproducingit.Moreandmorepeoplechoosetoliveclosetogetheri
最新回复
(
0
)