首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中。函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl.C中。 不
给定程序中。函数fun的功能是:统计出带有头结点的单向链表中结点的个数,存放在形参n所指的存储单元中。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANKl.C中。 不
admin
2013-04-02
22
问题
给定程序中。函数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全国计算机二级
相关试题推荐
以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。#include<string.h>v
有以下程序: 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[
有以下程序段: int n,t=1,S=0; scanf("%d",&n); do{s=s+t;t=t-2;}while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是 ______。
下面程序的运行结果是:[]。fun(intt[],intn){inti,m;if(n=1)returnt[0];elseif(n>=2){m=fun(t,n-1);returnm;}
有以下程序 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> main() {char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c
下面程序的功能是建立一个有3个结点的单循环链表,然后求各个结点数值域data中数据的和,请填空。#include<stdio.h>#include<stdlib.h>struc
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。
下面rotate函数的功能是:将n行n列的矩阵A转置为A’,例如:#defineN4voidrotate(inta()[N]){inti,j,t;f
随机试题
下列哪种证人证言可以作为证据运用()
男性,45岁,坠入热油池中烫伤头面颈、躯干、四肢、臀部3小时。伤后创面疼痛,口干、烦渴、气促。入院查体:T36.2℃,P143次/分,R32次/分,BP143/79mmHg。神志清楚,四肢凉,脉搏弱,末梢循环尚可,面颈部肿胀。烧伤面积98%,其中深Ⅱ度35
A.噻嗪类利尿剂B.α受体阻滞剂C.血管紧张素转换酶抑制剂D.二氢吡啶类钙通道阻滞剂E.β受体阻滞剂合并糖尿病的高血压患者,血清肌酐正常,降压治疗宜首选的药物是()
脑血栓形成的患者用药护理中用甘露醇时应注意哪项检查()
(2005年)折杆受力如图5—63所示,以下结论中错误的为()。
在如图所示电路中,开关S闭合后,金属环A()。
预收出租固定资产租金这笔业务使企业()。
根据下面材料。回答下列题目:××公司发行在外股票数:2007年155万股,2008年1800万股。平均股价:2007年13元/股,2008年15元/股。2008年派发现金股息:500万元。表14-1和表14-2分别为××公司的资产负债表、损益表的有关资料
设积分区域D={(x,y)|x2+y2≤x+y},计算二重积分(x2+xy+y2)dσ.
对于列表框控件List1,能够表示当前被选中列表项内容的是( )。
最新回复
(
0
)