首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
admin
2015-11-25
24
问题
下列给定程序中,函数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://jikaoti.com/ti/kKi0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有下列二叉树,对此二叉树前序遍历的结果为()。
以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,请填空。voidfun(int,int,int(*)[4],int*);main(){inta[3][4]={{12,41,36,28},{1
测试的目的是暴露错误,评价程序的可靠性;而【】的目的是发现错误的位置并改正错误。
有以下程序: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
有以下程序:#include<stdio.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);p
有以下程序:main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1)>x[j]
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是【】。structnode{chardata;structnode*next;}a,b
源程序的文档化不包括()。
若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是()。Structstu{inti;intname;}st,*p;p=&st;
随机试题
文学从不自觉走向自觉,从无意创作过渡到有意创作的标志是【】
政治体制稳定指数包括________和社会经济特征指数及社会统治秩序指数。()
下列有关3/4冠牙体预备的叙述,恰当的是
患者,男,70岁,高血压三十余年。突然剧烈头痛、呕吐、意识不清。护理体检发现左侧周围性面瘫,右侧肢体瘫痪,巴氏征阳性,考虑为脑出血收入院。此时首要的护理措施是
汇票持票人甲公司在汇票到期后即请求承兑人乙公司付款,乙公司明知该汇票的出票人丙公司已被法院宣告破产仍予以付款。下列表述错误的是()。
地方教育附加征收标准为单位和个人实际缴纳的增值税、营业税和消费税税额的()。
假设一国人口为2000万人,就业人数为900万人,失业人数100万人,那么,该国的失业率为( )。
根据行政复议法律制度的规定,下列有关行政复议申请人的表述中,正确的是()。
自我介绍。
在社会劳动者中,人数最多的是( )。1987年社会劳动者人数比1978年增加了( )。
最新回复
(
0
)