首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
admin
2018-03-28
62
问题
给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域依次为2、4、6、8、10,逆置后,从头至尾结点数据域依次为10、8、6、4、2。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef struct node{
int data;
Struer node *next;
}NODE;
/*********found*********/
【1】
* fun(NODE*h)
{ NODE*p,*q,*r;
p=h;
if(p==NULL)
return NULL;
q=p一>next;
P一>next=NULL;
while(q)
{
/*********found*********/
r=q一>
【2】
;
q一>next=p;
p=q;
/*********found*********/
q=
【3】
;
}
return p;
}
NODE*creatlist(int a[])
{ NODE *h,*p,*q;int i;
h=NULL;
for(i=0;i<N;i++)
( q=(NODE*)malloc(s~zeof
(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("Thel list is NULL!\n");
else
{ printf("\nHead");
do
{pr~ntf("一>%d",p一>
data);
p=p一>next;}
while(p!=NULL);
printf("一>End\n");
}
}
main()
{ NODE*head;
int a[N]={2,4,6,8,1 0};
head=creatlist(a);
printf("\nThe original
list:\n");
outlist(head);
head=fun(head);
printf("\nThe list after
inverting:\n");
outlist(head);
}
选项
答案
(1)NODE (2)next (3)r
解析
填空1:本题考查了函数指针变量的函数返回值的类型,*fun(NODE*h)的返回值为p,而p的数据类型为NODE,因此本空应该填写NODE。
填空2:从此空的形式p一>可知本空应该填写next。
填空3:本题要求将不带头结点的单向链表逆置,为了使q的指针向后移,此空应该填写r。
转载请注明原文地址:https://www.kaotiyun.com/show/Cxxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。#include<stdio.h>#include<string.h>main(){chara[]="clanguage",t;
下面程序的运行结果是【】。intf(inta[],intn){if(n>1)returna[0]+f(&a[1],n-1);elsereturna[0];}main(){int
以下正确的函数声明语句是______。
—个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈则元素出栈的顺序______。
下列选项中,不是一个算法的基本特征的是()。
若有以下定义和语句,sizeof(a)的值是【】,sizeof(a.share)的值是【】。structdate{intday;intmonth;intyear;union{intshare1;
数字字符0的ASCII值为48,运行以下程序的输出结果是()。main(){chara=’1’,b=’2’;printf("%c,",b++);printf("%d\n",b-a);}
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。下列不能将变量c中的大写字母转换为对应小写字母的语句是()。
下列叙述中正确的是()。
随机试题
当x→0时,函数f(x)=sinax与g(x)=ln(1—2x)为等价无穷小,则常数a的值为().
肌力为0级时,可促进肌力的训练为
一青年女性,脱发,四肢关节痛半年,肝、脾均于肋下2cm,查Hb60g/L,RBC1.8×1012/L,WBC7.7×109/L,PLT50×109/L,网织红细胞12%,骨髓示增生性贫血,酸化血清溶血试验(一),尿蛋白(++)。最可能的诊断是
A.鼠疫B.流行性感冒C.百日咳D.麻风病E.流行性腮腺炎
将一部分资金投资于无风险资产从而保证资产组合的最低价值的前提下,将其余资金投资于风险资产并随着市场的变动调整风险资产和无风险资产的比例,同时不放弃资产升值潜力的一种动态调整策略是()
在数据库技术中,实体一联系模型是一种()。
在口语教学中,运用______可以增强学生的听音辨音能力。
单独完成某项工作,甲需要16小时,乙需要12小时,如果按照甲、乙、甲、乙……的顺序轮流工作,每次1小时,那么完成这项工作需要多长时间?
假设银行某些规定的变动扩大了信用卡的可获得性。如果物价有所变动,中央银行应该如何应对这种变动?[厦门大学806宏微观经济学2013研]
简述法律规则的逻辑结构。(2010年一综一第64题)
最新回复
(
0
)