首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,
admin
2020-06-16
60
问题
使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun功能是将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N6
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<N;i++)
{q=(NODE*)malloc(sizeof(NODE));
q->data=a
;
q->next=NULL;
if(h->nexL==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)>
解析
填空1:本题考查了指针变量p赋初值,使p指向链表的头结点的下一个结点,因此本空应该填写h->next。
填空2:本空考查了q的作用,q代表p的下一个数,因此次空应该填写p->next。
填空3:if判断句是比较链表中相邻两个数的大小,如果p->data>q->data就交换这两个数的值,因而此空填写>。
转载请注明原文地址:https://kaotiyun.com/show/GZCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:intk=1,m=2;floatf=7;,则以下选项中错误的表达式是
设有定义:struct{intn;floatx;)s[2],m[2]={(10,2.8},{0,0.0}};则以下赋值语句中正确的是()。
若有以下语句:intn;floatf=13.8;则执行n=(int)f%3;后,n的值是()。
有以下程序:#include<stdio.h>main(){inta=一1,b=一1;for(;++a;)++b;printf("%d%d\n",a,b);}程序运行后的输出结果是(
请编写函数fun,其功能是:计算并输出下列多项式的值,S=(1—1/2)+(1/3—1/4)+…+(1/(2n一1)一1/2n)例如,若主函数从键盘给n输入8后,则输出为S=0.662872。注意:要求n的值大于1但不大于100。
以下关于字符串的叙述中正确的是()。
有以下程序段,若变量已正确定义并赋值if(a>b)printf("x=%d",x);elseprintf("y=%d",y);if(a
以下针对全局变量的叙述错误的是()。
下列选项中不属于结构化程序设计原则的是()。
在软件设计中不使用的工具是()。
随机试题
对于以前年度内部交易形成的管理部门使用的固定资产,本期提取的折旧费中由于未实现内部销售利润而多计提的数额,本期应编制的抵消分录如下所示()
《季氏将伐颛臾》选自()
关于慢性粒细胞白血病急性变,下列哪项不正确?
A.毛茛科B.木通科C.豆科D.马兜铃科E.茜草科川木通的原植物属于
音乐扩声时,功放设备平均声压级计算的电功率的储备量一般要求为()以上。
某城市新建一栋综合大楼,一级耐火等级,地上共26层,地下3层,层高均为3m,每层建筑面积为2500m2,该建筑的产权单位为思源集团。地上1~6层为百货商场,主要经营化妆品、品牌男装、品牌女装、儿童服饰及家纺等。租赁单位为万盛百货公司。地上7~8层
保存Word文件的快捷键是()。
A、 B、 C、 D、 C
若一个视图是从单个基本表导出,只是去掉了该基本表的某些行和某些列,并且保留了码,称这类视图为______视图,这类视图可以如同基本表一样使用。
无符号二进制整数1001111转换成十进制数是______。
最新回复
(
0
)