首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
admin
2015-12-22
46
问题
给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 8
typedef struct list
{ int data;
struct list *next;
}SLIST;
SLIST *creatlist(char *);
void outliSt(SLIST *);
int fun(SLIST *h,char ch)
{SLIST *P;int n=0;
p=h->next;
/**********found**********/
while(P!=___1___)
{ n++;
/**********found**********/
i f(p->data==ch)return___2___;
else p=p->next;
}
return 0;
}
main()
{SLIST *head;int k;char ch;
char a[N]={’m’,’P’,’g’,’a’,’w’,’x’,’r’,’d’);
head=creatlist(a);
outliSt(head);
printf(”Enter a letter:");
scanf("%c",&ch);
/**********found**********/
k=fun(___3___);
if(k=0) printf("\nNot found!\n"}.
else printf("The sequence number
is:%d\n",k);
}
SLIST *creatlist:(char *a)
{SLIST *h,*P,*q;int i;
h=p=(SLIST *)malloc(sizeof(SLIST));
for(i=0;i
{Cl=(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("\nThe list
is NULL!\n");
else
{printf("\nHead");
do
{printf("->%c",P->data);
p=p->next;)
while(P!=NULL);
printf("->End\n");
}
}
选项
答案
(1)0或NuLL (2)n (3)head,ch
解析
函数fun的功能是查找数据域中值为ch的结点。
第一空:这里是补充循环结束条件,链表是单向有限的,最后一个结点的指针域指向NULL,因此可以用这个来作为循环结束条件,在p指向的结点的指针域不是NULL时表明还有下一个结点,因此第一空处应该是“while(pl=NULL)”。
第二空:在循环当中n用来记录顺序号,如果“if(p->data==ch)”成立,则已经找到数据域中值为ch的结点,返回顺序号,即“return n:”。
第三空:fun函数的调用形式是:fun(SLIST *h,char ch),第一个参数是头结点地址,第二个参数是需要寻找的ch值,因此第三空处应该是“k=fun(head,ch):”。
转载请注明原文地址:https://kaotiyun.com/show/VWDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-′a′+′A′;s++;}}main(){charstr1[100]="abcddfefdbd",c=′d′
下面的程序段运行后,输出结果是inti,j,x=0;staticinta[8][8];for(i=0;i
有以下程序#includemain(){charp[]={′a′,′b′,′c′},q[10]={′a′,′b′,′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是
若变量已正确定义,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是
利用fseek函数可实现的操作是()。
下列选项中不会引起二义性的宏定义是()。
请读程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf(
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
关于结构化程序设计原则和方法描述错误的是()。
数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。
随机试题
大小不变或变化缓慢的载荷称为()。
染色体畸变可由亲代遗传,也可由生殖细胞的异常发育引起,包括_______的异常和_______的改变。
X企业为一般增值税纳税人,购入一台设备,该设备需安装,取得增值税专用发票注明买价为140万元,增值税税额为23.8万元,支付的运费为0.5万元,支付安装费为0.3万元,则固定资产入账价值为164.6万元。()
2012年度中国公民赵某取得以下所得:(1)利用业余时间兼职,1~12月份每月从兼职单位取得劳务报酬3000元每月从中拿出500元通过国家机关捐赠给贫困地区。(2)通过拍卖行将一幅珍藏多年的字画拍卖,取得收入500000元,该字画原值
长江三角洲的地理位置十分优越,体现在()。①濒临黄、渤海与长江交汇处,港口众多②依托长江水运,联系内陆地区③我国南北海上航运中枢④通过远洋航线通往世界主要港口
【2014下】马克思主义认为,实现人的全面发展的根本途径是()。
能够引起债的绝对消灭的原因有()。
A、Studyingwithapartner.B、Preparingsnacks.C、Playingcards.D、Learninghowtodesignbridges.C女士说:“我打算去学生娱乐中心打桥牌。”故答案为C。
ScientistsatSussexuniversityappeartobeonthewaytodiscoveringhowthemosquito,earnerofdiseasessuchasmalariaand
A、Thesmallbowlwasputabovethelargebowl.B、Thelargebowlwasputabovethesmallbowl.C、Thesmallbowlwasputinsideth
最新回复
(
0
)