首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动ma
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动ma
admin
2017-11-27
66
问题
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
typedef struct aa
{ int data;
struct aa *next;
} NODE;
int fun (NODE *h)
{ int max=-l;
NODE *p;
/*********** found**********/
p=h ;
while(p)
{ if (p->data>max)
max=p->data;
/*********** found**********/
p=h->next ;
}
return max;
}
outresult(int s, FILE *pf)
{fprintf(pf,"\nThe max in
link : %d\n",s);}
NODE *creatlink(int n, int m)
{NODE *h, *p, *s;
int i;
h=p=(NODE*)malloc(sizeof(NODE));
h->data=9999;
for(i=l; i<=n; i++)
{ s=(NODE *)malloc(sizeof(NODE));
s->data=rand()%m;
s->next=p-> next;
p->next=s; p=p->next;
}
p->next=NULL;
return h;
}
outlink(NODE *h, FILE *pf)
{NODE *p;
p=h->next;
fprintf (pf, "\nTHE LIST:\n\n HEAD ") ;
while(p)
{fprintf (pf,"->%d ",p->data) ;
p=p->next;
}
fprintf(pf,"\n");
}
main ()
{NODE *head; int m;
head=creatlink(12, 100);
outlink(head , stdout);
m=fun(head);
printf("\nTHE RESULT :\n");
outresult(m, stdout);
}
选项
答案
(1)p=h一>next; (2)p=p一>next;
解析
函数功能是求单向链表结点(不包括头结点)数据域中的最大值。其中,单链表查找最大值及最小值的方法主要是对单链表的遍历,并在遍历过程中将初始化的最大值、最小值与链表中的每一个结点的数据域进行比较。
(1)根据题干中求得除了头结点之外的结点数据域中的最大值,头指针h,工作指针p指向头结点的下一个结点,所以,第一个标识下的“p=h;”指向头结点应该改为指向下一个结点“p=h->next;”。
(2)工作指针p,利用p实现对链表的遍历,p表示指向链表的当前结点,所以指向下一个结点应该是“p=p->next;”。
转载请注明原文地址:https://kaotiyun.com/show/Bnxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是()。main(){intx=0210;printf("%x\n",x);}
有以下程序:#include<stdio.h>intf(intx){inty;if(x==0||x==1)return(3);y=x*x-f(x-2);returny;}main()
在将E-R图转换到关系模式时,实体和联系都可以表示成【】。
if语句的基本形式为:if(表达式)语句,其中“表达式”()。
下面的程序在编译时产生错误,其出错原因是()。#includemain(){intlcase;floatprintF;printf(“请输入2个数:”);scanf(“%d%f”,&1
若有定义inta[5],*p=a;则正确引用数组元素的是()。
在两种基本测试方法中,____________测试的原则之一是保证所测模块中每一个独立路径至少执行一次。
在学校中,“班级”与“学生”两个实体集之间的联系属于()关系。
下列关于类、对象、属性和方法的叙述中,错误的是()。
sizeof(char)是()。
随机试题
A.温脾汤B.黄龙汤C.济川煎D.新加黄龙汤热结里实,气阴不足证,宜选
患者,女性,75岁,患高血压20年,平日血压控制在140/90mmHg,糖尿病10年,应用降糖药物控制血糖。近半月来偶发心前区疼痛,闷痛多持续1~2分钟,经休息可缓解,1天来心前区疼痛持续6小时不缓解,精神烦躁,恶心呕吐1次,故急送医院。测BP130/90
患者,女性,34岁,阑尾穿孔腹膜炎手术后第6天,护士查体发现患者体温39.2℃,伤口无红肿,排便次数增多,混有黏液,伴有里急后重,该护士考虑患者并发了
某建设工程合同纠纷经第二审人民法院审理,裁定发回原审人民法院重审。下列不属于发回重审原因的是()。
下列责任承担的方式,属于行政处罚的是()。
证券公司申请为期货公司提供中间介绍业务资格,应当符合的条件包括()等。
2×20年11月18日,甲公司董事会决议处置一项生产设备。2×20年12月31日,甲公司与乙公司就该项生产设备签订了出售合同。合同约定:甲公司以700万元的售价向乙公司出售该项设备,该项交易自合同签订之日起10个月内完成,原则上不可撤销,但因外部审批及其他
一、注意事项1.本次考试包括给定资料和作答要求两部分。总时间为150分钟,建议阅读资料为40分钟,作答时间为110分钟,总分100分。2.请在答题卡上指定的位置填写自己的姓名、报考部门,填涂准考证号。考生应在答题卡指定的位置作答,未在指
将7个人分成三组,一组3个人,另两组2人,不同的分组数为a,甲、乙分到同一组的概率为p,则:
我国城乡以劳动者的劳动联合和资本联合为主的股份合作制经济的性质是
最新回复
(
0
)