首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
admin
2015-11-25
60
问题
下列给定程序中,函数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]={‘in’,‘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<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://www.kaotiyun.com/show/IXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若变量已正确定义,要求通过scanf("%c%d%c%d,&c1,&a,&c2,&b)语句给变量a和b分别赋32和45,给变量c1和c2分别赋字符A和B;下列选项中数据从第1列开始输入,正确的输入形式是()。
有以下程序:voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[
有以下程序:voidsum(inta[]){a[0]=a[-1)+a[1];}main(){inta[10]=(1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d
以下数据库除______外,均为严格意义上的DBMS系统。
有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是______。
有以下程序段charch;intk;ch=’a’;k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为
对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是#includevoidmain(){FILE*fp=fopen("TEST",);fputc(′A′,fp);fputc(′\n′,fp);
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成
随机试题
直线滚动导轨副的安装误差,对摩擦阻力和导轨副的作用寿命都有一定影响。()
ComingSoontoaTheaterNearYou!Whatarespecialeffects?DoyouenjoymoviesthatusealotofspecialeffectsDinosaurs
下列临床表现可见于甲状腺功能亢进症患者的是
腋毛癣与下列哪种感染有关
股份有限公司以超过股票票面金额的发行价格发行股票所得的溢价款,应当列为公司的()。
特种设备使用单位应当在设备投入使用前或者投入使用后()d内到设备所在地市以上的特种设备安全监督管理部门办理特种设备使用登记。
利用()的方法编制进度计划必须很严谨地分析和考虑工作之间的逻辑关系。
某交易者预期百度的股票价格将上涨,在市场上购买了百度的看涨期权。期权费为10美元,执行价格是160美元,假如到期日百度股票的市场价格涨到180美元,那么,交易者选择执行期权,获得的收益是()美元。
Apairofdice,rolledagainandagain,willeventuallyproducetwosixes.Similarly,thevirusthatcausesinfluenzaisconstan
以下叙述错误的是()。
最新回复
(
0
)