首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
admin
2015-11-25
40
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
下列程序的输出结果是()。#include<stdio.h>main(){inta=0,i;for(i=1;i<5;i++){Switch(i){case0:case3:a+=1;
有以下程序:main(){inti=0,s=0;for(;;){if(i==3||i==5)continue;if(i==6)break;i++;
有以下程序#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y)
为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为
对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是#includevoidmain(){FILE*fp=fopen("TEST",);fputc(′A′,fp);fputc(′\n′,fp);
有以下程序段,且变量已正确定义和赋值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
字符串"\\\"ABCDEF\"\\"的长度是()。
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序
随机试题
某单位财务部共有11名员工,其中会计7人,出纳4人。上级要从中随机抽选出4人参加业务考核,问:至少有1名是出纳的情况有多少种?()
什么称为冷挤压?
Peopleoftenspeakoffireasthoughitwerealivingcreature—Itgrows,dances,needsoxygen,feedsonwhateveritcanfind,an
对甲型肝炎早期有诊断价值的免疫球蛋白是
黄体酮的鉴别方法有
根据社会保险法律制度的规定,下列工伤保险费用中,由依法缴纳社会保险费的用人单位支付的有()。
藏传佛教中被称为“黄教”的是()。
(2016·山西)在实际工作生活中,凡事注重分寸,坚持适度原则,防止“过”和“不及”。这在哲学上符合()(常考)
商朝末年,武王伐纣的著名战役是()。
可接受性
最新回复
(
0
)