首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点住链表中所处的顺序号;若不存在值为ch的结点,函数返同0值。 请在程序的下画线处填人正确的内容并将下画线删除,使程序得出正确的结果。
admin
2015-11-25
26
问题
下列给定程序中,函数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全国计算机二级
相关试题推荐
下列程序的输出结果是()。main(){inti=1,j=2,k=3;if(i++==1&&(++j=3‖k++==3))printf("%d%d%d\n",i,j,k);}
有下列二叉树,对此二叉树前序遍历的结果为()。
已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为()。
有以下程序:main(){intt=1,i=5;for(;i>=0;i--)t*=i;printf("%d\n",t);}执行后的输出结果是【】。
有以下程序:#include<stdio.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);p
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为
为了使模块尽可能独立,要求
若有以下定义:structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成
变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是
对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是#includevoidmain(){FILE*fp=fopen("TEST",);fputc(′A′,fp);fputc(′\n′,fp);
随机试题
患者呃逆洪亮有力,心胸烦热,大便秘结。治宜选用
简述亲属关系在诉讼法上的效力。
下列哪一指标不是反映测定精度的质量指标
根据我国法律,在王某涉嫌盗窃一案中,能担任辩护人的是:
设备监理实施的前提是()。
属于中国人民银行职责的是()。
开学第一天,新任班主任邹老师走进六年级(5)班的教室,发现黑板上写着“你也下课吧”五个大字。原来,该班已连续换了两任班主任,原因是该班学生无论是学习,还是纪律、卫生及日常行为规范等方面的表现都极差,前两任就因为在积分上被扣分而失去了当班主任的资格。
Peoplehavesmokedcigarettesforalongtimenow.Thetobaccowhichisusedtomakecigaretteswasfirstgrowninwhatisnowp
明代霜降后,三法司共同在京王公大臣审理重囚的制度()
在Windows中,用鼠标左键双击应用程序控制菜单图标,可以______。
最新回复
(
0
)