首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中。函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl.C中。 不
给定程序中。函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl.C中。 不
admin
2013-04-02
32
问题
给定程序中。函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 8
typedef struct list
{int data;
struct list *next;
} SLIST;
SLIST *creatlist(int *a);
void outlist(SLIST *);
void fun(SLIST *h, int *n)
{SLIST *p;
/**********found**********/
【1】=0;
p=h->next;
while(p)
{ (*n)++;
/**********found**********/
p=p->【2】;
}
}
main()
{SLIST *head;
int a[N]={12,87,45,32,91,16,20,48}, num;
head=creatlist(a); outlist(head);
/**********found**********/
fun(【3】, &num);
printf("\nnumber=%d\n",num);
}
SLIST *creatlist(int a[])
{SLIST *h,*p,*q; int i;
h=p=(SLIST *)malloc(sizeof(SLIST));
for(i=0; i
{q=(SLIST *)malloc(sizeof(SLIST));
q->data=a
; p->next=q; p=q;
}
p->next=0;
return h;
}
void outlist(SLIST *h)
{SLIST *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");
}
}
选项
答案
*n next head
解析
第一空:*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/TJJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【 】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
有以下程序: struct STU {char name[10];int num;float TotalScore;}; void f(struct STU *p) {struct STU s[2]={{"SunDan",2004
有以下程序: void sort(int a[],int n) { int i,j,t; for(i=0;i<n;i++) for(j=i+1;<n;j++) if(a[i]<a[j]){ t=a[
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
当运行以下程序时,输入abcd,程序的输出结果是:[]。insert(charstr[]){inti;i=strlen(str);while(i>0)
有以下程序 main() { char *p[]={"3697","2548"}; int i,j; long num=0; for(i=0;i<2;i++) {j=
有以下程序 int fun(int x[],int n) { static int sum=0,i; for(i=0;i<n;i++) sum+=x[i]; return sum
以下数组定义中错误的是______。
下面程序的运行结果是[]。#include<stdio.h>intf(inta[],intn){if(n>1)returna[0]+f(a+1,n-1);
【】是指一个数据对象中的各个数据元素之间存在的联系。
随机试题
平面类型的民间工艺美术包括民间剪纸、民间镂印、地方戏剧脸谱以及()。[河北2018]
出生6个月男孩,右上腹肿瘤,高低不平、固定质硬,未超过中线,但右侧肾门淋巴结肿大明显,AFP8/1g/ml,24小时尿VMA65mg/24h,无远处转移发现
食管癌切除术后,拔除胃管24小时内,病人应()
施工日志一般由()填写,记录从工程开工之日起至工程竣工之日止的施工情况。
我国航天技术在()方面达到了世界先进水平。
公司销售部办公室需要购买一台复印机,除承担日常的文印需求外,偶尔还需承担小规模的批量复印,比较合适的机型是()。
121个人排成一排,请问站在中间的是()
(2011年河北.37)6,7,3,0,3,3,6,9,5,()。
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是
TheprofessortalksaboutthehousewhileheisshowingSaraharound.
最新回复
(
0
)