首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为: 10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下画线处填入正确的内容并把下画线
给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为: 10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下画线处填入正确的内容并把下画线
admin
2017-09-23
31
问题
给定程序中,函数fun的功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为: 10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < stdlib.h >
#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 if
h = (NODE * ) malloc (sizeof
(NODE));
h 一 >next = NULL;
for(i=0;i < N;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 soroutlist (head) ;
}
选项
答案
(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://kaotiyun.com/show/7zxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知:intc[3][4];,则对数组元素引用正确的是()。
已知下列函数定义:fun(int%,intc,intn,intdatA){intk;for(k=0;k<m*n;k++){*b=data;b++;}}则调用此函数的正确写法是(假设变量a的说明为int
设有如下关系表,由关系R和S通过运算得到关系T,则所使用的运算为()。
下面程序的运行结果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}
下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个元素输出数组b,请填空。main(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",
以下程序统计从终端输入的字符中大写字母的个数。用#号作为输入结束标志,请填空。#include<stdio.h>#include<ctype.h>main(){intnum[26],i;charc;for(i=0;i<26
以下语句段执行后的输出结果是()。#include<stdio.h>main(){intk=3;if(k)printf("###")elseprintf("&&&&");}
若有以下定义和语句:inta=010,b=0×10,c=10;printf("%d,%d,%d\a",a,b,C);则输出结果是()。
在C语言中,函数返回值的类型最终取决于()。
随机试题
下列有关位图与矢量图的叙述中,错误的是________。
在义齿修复前口腔软组织的处理措施中,不应包括()
能反映新生儿肺透明膜病的主要症状是()
国际贸易书面合同的内容可分为()。
当事人以约定的违约金过高为由请求减少的,应以违约金超过造成损失的()为标准适当减少。
根据船舶吨税的规定,下列说法中正确的有()。
根据企业国有资产法律制度的规定,中央企业所属境外企业的下列情形中,应当按照有关规定报国资委审核同意的是()。
正式录用过程中用人部门与人力资源部门应完成的工作有()。
甲与乙婚后购买一套房屋,产权证载明所有权人为乙。后双方协议离婚,约定房屋赠与女儿,甲可以居住房屋至女儿满18岁,但未办理房屋所有权转移登记。不久,乙与丙签订抵押借款协议,将房屋抵押给丙,2011年10月8日丙取得房产局发放的房屋他项权利证书。2012年11
设f(x)可导,F(x)=f(x)(1+|sinx|),若使F(x)在x=0处可导,则必有()
最新回复
(
0
)