首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
admin
2015-11-25
44
问题
下列给定程序中,函数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://kaotiyun.com/show/IXDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【】,要求形参名为b。main(){doubles[10][22];intn;…fun(s);
数据库设计包括两个方面的设计内容,它们是
为了使模块尽可能独立,要求
现有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:#include#include"myfun.c"main(){fun();printf("\n");}myf
有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能与之完全相同s=1.0;k=1;w
源程序的文档化不包括()。
若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
用筛选法可得到2~n(n
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
这个标志是何含义?
属于缺陷病毒的是
X线钡餐检查显示“皮革胃”,多见于
有晨僵的是
现行《中华人民共和国海关法》是经()全国人民代表大会修改的。
马歇尔一勒纳条件是指()。
《大清民律草案》的结构顺序是取自()民法典的体例编纂而成的。
经过多轮淘汰赛后,甲、乙、丙、丁四名选手争夺最后的排名,排名不设并列名次。分析加预测:Ⅰ.第一名或者是甲,或者是乙;Ⅱ.如果丙不是第一名,丁也不是第一名;Ⅲ.甲不是第一名。如果分析家的预测只有一句是对的,则第一名是谁?
Thisdictionaryis_____intendedforAmericanlearnersofChinese.
A、Theyhavedinnertogether.B、Thewomanhelpthemanlistentohistalk.C、Themanhelpthewomanlistentohertalk.D、Theygo
最新回复
(
0
)