首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改
下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改
admin
2017-09-23
58
问题
下列给定程序中,函数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://www.kaotiyun.com/show/0sxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。main(){inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;for(i=0;i<2;i++){for(j=0;j<3;j++)
以下程序运行时若从键盘输入:102030<回车>。输出结果是()。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);pri
下面程序的功能是:从输入的正整数中选3个数进行输出,要求这些数都是2的倍数,请填空。main(){inta,i=0;scanf("%d",&A);do{if(a>0&&a%2==0){printf("%d
下面程序的功能是:计算1~20之间的奇数之和与偶数之和,请填空使程序功能完整。#include<stdio.h>main(){inta=0,b=0,c=0,i;for(i=0;i<=20;i+=2){a+=
设有定义语句int(*f)(int);,则以下叙述正确的是()。
数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是()。
用树形结构表示实体之间联系的模型是()。
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。structnode{intdata;structnode*next;}*P,*q,*r;现要将q所指节点从链表中删除,同时要保持链表的连续,
_____________是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
随机试题
两汉历史散文达到高度发展阶段的标志是________________,它开创了传记文学之先河。
躯干、四肢浅感觉传导路第2级神经元位于______,交叉部位在______。
上进心强,性急易怒,做事匆忙注重效率的行为风格,被Friedman称为克制内敛,谨小慎微,与人无争的性格,称
为了预防旅游者丢失证件、行李、钱物,导游人员应多做()工作。
【2017上】《国家中长期教育改革和发展规划纲要(2010——2020年)》提出,推进义务教育均衡发展,切实缩小校际差距,着力解决择校问题。下列选项中,不正确的是()。
LAN交换机被认为是()。
《孔雀东南飞》最早见载于徐陵所编_______。
deficitbudget
C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是
Globalisationisthemoreorlesssimultaneousmarketingandsaleofidenticalgoodsandservicesaroundtheworld.Sowidesprea
最新回复
(
0
)