首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不
admin
2015-08-23
56
问题
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
#include
typedef struct aa
{ int data;
struer aa*next;
} NODE;
int fun(NODE*h)
{ int max=一1;
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=1; 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");
outEesult(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/RTDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
数据库系统的主要特点为数据集成性、数据的高______和低冗余性、数据独立性和数据统一管理和控制。
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是
以下程序运行后的输出结果是【】。inta=5;fun(intb){staticinta=10;a+=b++;printf("%d",a);}main
已有定义:double*p;,请写出完整的语句,利用malloc函数使p指向一个双精度型的动态存储单元【】。
当说明一个结构体变量时系统分配给它的内存是()。
一个源文件中的外部变量的作用域为()。
下列程序的输出结果是()。voidf(int*x,int*y){intt;t=*x,*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,
运行下列程序,若从键盘输入字母“a”,则输出结果是()。charc;c=getchar();if(c>=’a’&&c<=’g’)c=c+4;elseif(c>=’g’&&c<=’z’)c=c-21;
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。#defineN4voidrotate(i
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
随机试题
下列疾病中血浆D-二聚体增高,除外
具有雌激素样作用的化合物是
无高危因素的医院获得性肺炎,最常见的病原体是()。
新生儿1岁小儿脉搏每分钟1~3岁小儿脉搏每分钟
骨折X线检查的重要意义下列哪项不对
A开发公司征收某村50hm2(公顷)基本农田外的耕地,已知该耕地前3年平均年产值为800元/亩,那么该耕地的土地补偿费的最低额为()。
2007年10月2日,邵某与丁某约定:邵某将100平方米的门面房卖给丁某,房价100万元。丁某支付房款后,邵某交付了门面房,但没有办理产权登记手续。丁某接收门面房作了简单装修,于2007年11月2日出租给叶某,租期为3年。2007年12月29日,邵某因病去
TheoutcomeoftheconflictshatteredthePalestinian’sdreamofpeaceandprosperity.
按照开放的接口、服务和支持的规范而实现的系统称为开放系统。开放系统环境中的人机界面、系统管理工具、通信服务和安全性等方面都是按公开标准实现的,这种环境有利于实现应用软件的(20)。
A、Haveanexam.B、Double-checktheanswers.C、Correctthetestscoreimmediately.D、Markthewronganswer.B对话中男士说他觉得有一个答案被判错了,女
最新回复
(
0
)