首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改
admin
2017-09-23
53
问题
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < stdlib.h >
#defihe 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,4 5,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 < N;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");
}
}
选项
答案
(1)*n (2)next (3)head
解析
本题考查:变量赋初值操作;链表结点的数据域和指针域表示方法;函数调用。
填空1:*n用来存放结点的个数,对其赋初值为0。
填空2:while循环用于遍历链表,循环一次,指针指向链表的下一个结点。
填空3:根据函数定义语句确定调用函数的实际参数,即fun( head,&num);。
转载请注明原文地址:https://kaotiyun.com/show/0sxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta
下面程序的输出结果是()。#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,7,10},*p;p=a;printf("%d\n",*p+8);}
以下程序运行时若从键盘输入:102030<回车>。输出结果是()。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);pri
有以下程序:#include<stdioh>intfun(intx,inty){if(x!=y)return(y);elsereturn((x+y)/2);}main(){inta=4,b=
在数据流图的类型中有两种类型,它们是变换型和()。
若有语句doublex=17;inty;,当执行y=(int)(x/5)%2;之后y的值为()。
以下程序的定义语句中,x[1]的初值是(),程序运行后输出的内容是()。#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,
将E-R图转换到关系模式时,实体与联系都可以表示成()。
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。
以下选项中不合法的标识符是()。
随机试题
心源性呼吸困难的主要原因是
肝硬化病人使用利尿药,应特别注意维持_______和_______平衡。
下列内分泌因素与系统性红斑狼疮的发病有关的是
慢性再生障碍性贫血应首选()。
该项目土地使用权出让合同由()与甲公司签订。甲公司实施该项目的项目资本金不得少于()万元。
下列说法中正确的是()。
到期一次还本付息法一般适用于期限在()的贷款。
有甲、乙、丙三种浓度的过氧化氢,按甲与乙体积之比2:1混合,得到浓度为13%的过氧化氢;按甲与乙体积之比1:2混合,得到浓度为14%的过氧化氢。如果甲、乙、丙体积之比为1:1:3,混合成的过氧化氢浓度为10.2%,则同体积的甲、乙、丙三种浓度的过氧化氢混合
若串s="Program",则其子串的数目是【】。
WheneverIhearaweatherreportdeclaringit’sthehottestJune10onrecordorwhatever,Ican’ttakeittooseriously,becaus
最新回复
(
0
)