首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
admin
2019-03-06
79
问题
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
#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*********/
if(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(si。
zeof(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("\nThe list is
NULL!\n"),
else
{printf("\nHead");
do
{printf("一>%c",
p一>data);p=p一>next;}
while(p!=NULL);
printf("一>End\n");
}
}
选项
答案
(1)NULL (2)n (3)head,ch
解析
填空1:while循环语句用来判断是否到达链表结尾,链表结尾结点指针域是NULL。
填空2:若找到指定字符,则通过return语句将该结点在链表的顺序号返回给main函数。
填空3:函数调用语句,其形式是:函数名(实际参数表),因此根据函数定义语句,填入head,ch。
转载请注明原文地址:https://kaotiyun.com/show/uIRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
在下列字符序列中,不可用做C语言标识符的是()
有如下程序:main(){intx=23;do{printf("%d",x--);}while(!x);}程序运行后的输出结果是()。
执行以下程序后,a,b的值分别为main(){ina,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);
有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}执行后输出结果是()。
下面程序段的运行结果是chara[]="lanuage",*p;p=a;while(*p!=′u′){printf("%c",*p-32);p++;}
有如下程序main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];fo
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指
下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。(注:程序采用了冒泡排序算法)#include<stdio.h>#include<string.h>main(){char*str="ABCDabcd
设有以下定义:strucksk{inta;floatb;}data;int*p;若要使p指向data中的a域,正确的赋值语句是()。
下列程序的输出结果是______。longfun5(intn)(longs;if((n==l)‖(n==2))s=2;
随机试题
在某评选投票工作中,小刘需要在Excel中根据计票数据采集情况完成相关统计分析。具体要求如下:利用“省市代码”、“各省市选票数”和“各省市抽样数”工作表中的数据信息,在“各省市选票抽样率”工作表中完成统计工作,其中:①不要改变“地区”列的数据
按注册类型分,2018年1-11月公立医院诊疗人次数约是民营医院的:
变更权属调查内容包括重新标定()、绘制宗地草图、调查土地用途、填写变更地籍调查表等工作。
钛及钛合金的特点有( )。
场景某机电公司承包了某化工厂的设备及管道的防腐蚀工程。由于设备表面还存有铁锈和旧的防腐层,必须对设备进行预处理。工程防腐蚀涂层采用刷涂的施工方法,防腐蚀衬里采用聚氯乙烯塑料衬里。施工完毕,经总工程师鉴定,由于此工程质量要求很高,防腐蚀采用刷涂后,设备表面
生产某产品的工人小组由6人组成,每个小组的成员工日数为1工日,机械台班产量为5.85m2/工日,则人工时间定额应为()。
设有一个投资组合M有A和B两种股票构成,那么,当股票A在投资组合M中的投资比重发生变化时,投资组合M的预期收益率一般也将随之发生变化。()
甲公司2016年1月1日以银行存款2800万元取得乙公司60%的股份,能够对乙公司实施控制。2017年1月31日又以银行存款1000万元取得乙公司10%的股权,2017年1月31日,乙公司资产、负债自购买日开始持续计算的金额为7000万元。假定甲公司
“没有光明,就无所谓黑暗;没有真理,也就无所谓谬误。”这句话说明()。
—______DoyouknowMike?—Ofcourse.Iknowhimvery______.
最新回复
(
0
)