首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不
给定程序中,函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不
admin
2018-09-27
49
问题
给定程序中,函数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全国计算机二级
相关试题推荐
有以下程序 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],
有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}程序运行后的输出结果是()。
有以下程序 void f(int*x,int*y) { int t; t=*x;*x=*y;*y=t; } main() { int a[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p { f(p,q)
有如下程序: 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]!=’
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
若有下列定义(设int类型变量占2个字节):floatx=123.4567;则下列语句:printf("x=%5.2f",x);输出的结果是()。
下面程序输出的结果是______。main(){inti=5,j=9,z;x=(i==j?i:(j=7));printf(:\n%d,%d",i,j);}
若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
随机试题
在中国诗歌史上,格律诗发端于南北朝,定形于()
Noneofusexpectedthechairmanto______attheparty.Wethoughthewasstillinhospital.
A.过敏性紫癜肾炎B.IgA肾病C.急性链球菌感染后肾小球肾炎D.原发性小血管炎肾损害E.狼疮性肾炎患者。女性,13岁。3周前始出现血尿.有皮肤斑疹。应诊断为
肝脏在脂肪代谢中产生过多酮体主要由于
英国某石油公司与中国某石油公司签订了一个在渤海湾东部海域合作勘探海洋石油的合同,双方约定合同争议适用美国法;后双方就合同履行发生纠纷,并在中国法院进行诉讼。关于本案应适用哪国法律?()
投资组合分析中,()可以用于预测战略业务组合的产业吸引力和业务实力,只要在因素评估中考虑未来某个时间每一因素的重要程度及其影响大小,就可以建立预测矩阵。
总分类账户发生额及余额试算平衡表中的平衡数字有()。
下列选项中说法错误的是()。
6,14,30,62,()
当前的大学教育在传授基本技能上是失败的。有人对若干大公司人事部门负责人进行了一次调查,发现很大一部分新上岗的工作人员都没有很好掌握基本的写作、数量和逻辑技能。上述论证是以下列哪项为前提的?
最新回复
(
0
)