首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不
给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不
admin
2018-09-27
73
问题
给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
1 #include<stdio.h>
2 #include<stdlib.h>
3 #define N 8
4 typedef struct list
5 { int data;
6 struct list *next;
7 } SLIST;
8 SLIST *creatlist(int *a);
9 void outlist(SLIST *);
10 void fun(SLIST *h,int *n)
11 {SLIST *p;
12 /**********found**********/
13 __1___=0;
14 p=h->next;
15 while(p)
16 { (*n)++;
17 /**********found**********/
18 p=p一>__2___;
19 }
20 }
21 main()
22 {SLIST *head;
23 int a[N]={12,87,45,32,91,16,20,48},num;
24 head=creatlist(a);outlist(head);
25 /**********found**********/
26 fun(__3__,&num);
27 printf(’’\nnumber=%d\n’’,num);
28 }
29 SLIST *creatlist(int a[])
30 {SLIST *h,*p,*q;int i,
31 h=p(SLIST*)mailoc(sizeof(SLIST));
32 for(i=0;i<N;i++)
33 {q=(SLIST*)malloc(sizeof(SLIST));
34 q->data=a
;p->next=q;p=q;
35 }
36 p-next=0;
37 return h;
38 }
39 void outlist(SLTST *h)
40 {SLTST *p;
41 p=h->next;
42 if(p==NULL)printf(’’The list is NULL!\n’’);
43 else
44 {printf(’’\nHead’’);
45 do
46 {printf(’’->%d’’,p->data);p=p->next;}
47 while(P!=NULL);
48 printf(’’->End\n’’);
49 }
50 }
选项
答案
(1)*n (2)next (3)head
解析
函数fun的功能是统计出带有头结点的单向链表中结点的个数。
第一空:*n保存返回值链表长度,在开始计数之前,应该将*n清零,故第一空处应为“*n=0;”。
第二空:*n在循环while(p)中计数,p不断指向下一个结点,因此,第二空处应该为“p=p->next;”。
第三空:fun函数的声明为:void fun(SLIST *h,int*n),第一个参数是头结点地址,第二个参数要存放链表长度的整型变量地址,故第三空处应为“fun(head,&num);”。
转载请注明原文地址:https://kaotiyun.com/show/K8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有下列程序:#include<stdio.h>#include<string.h>main(){inti;chars[10],t[10];
有以下程序 main() {int x[3][2]={0},i; for(i=0;i<3;i++) scanf("%d",x[i]); printf("%3d%3d%3d\n",x[0]
以下程序的输出结果是_______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7});Print("%d%d%d%d\n",a[0][3],a[l][2],a[2][1],
有如下程序: main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]!=’
已知a所指的数组中有N个元素。。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置填空。voidfun(inta[N],intk){inti:for(i=k;i
下列关键字中,不属于C语言变量存储类别的是______。
已有定义:inti,a[10],*p;,则合法的赋值语句是
随机试题
战后国民党加强行政监督的措施之一是()
使承担义务、使做出保证vt.c______
氨茶碱静脉注射速度过快或浓度过高可产生下列哪些现象
麻醉期间急性左心力衰竭的主要诊断依据是
在周转轮系中,轴线位置变动的齿轮,即作自转,又作公转的齿轮,称为( )。
首次公开发行股票,并申请在经国务院批准设立的证券交易所上市的公司,股票上市前,应按()中的有关要求编制上市公告书。
某企业研制一项新技术,研究成功后申请获得专利权,该专利权的入帐价值应包括()。
“20世纪的大幕拉开了,紫禁城依然巍峨庄严,但太和殿前却留下了中国在20世纪的第一年遭受的国耻。”材料中“中国在20世纪的第一年遭受的国耻”是指()
143,152,224,314,323,()
关系运算中选择某些列形成新的关系的运算是
最新回复
(
0
)