首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划 线删除,使程序
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划 线删除,使程序
admin
2020-06-02
36
问题
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。
请在程序的下划线处填入正确的内容并把下划
线删除,使程序得出正确的结果。
注意:源程序存放在文件BLANK1.C中,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)
struct list
{
int data;
struct list*next;
};
struct list*createlist (int data[],int n)
{
struct list*head=0,*p,*q;
int i;
head=(struct list*)malloc(sizeof(struct list));
head一>data=data[0];
p=q=head;
for(i=1;i<n;i++)
{
p=(struct list*)malloc(sizeof(struct list));
p一>data=data
;q一>next=p;q=p;
}
p一>next=NULL;
return head;
}
/*********found*********/
int func(
【1】
head)
{ int pmax=head一>data;
struct list*p=head一>next;
whil e(p!=NULL)
{if(p一>data>pmax)pmax=p一>data;
/*********found*********/
p=
2】
;
}
/*********found*********/
【3】
}
void main()
{
int data[]={123,21,65,789, 32, 310, 671, 651,81,101},pmax;
struct list*head;
head=createlist(data,10);
pmax=func(head);
printf("Nax=%d\n”",pmax);
}
选项
答案
(1)struct list* (2)p一>next; (3)return pmax;
解析
程序定义了结构体类型list,用来作为链表的结点类型,它包含两个成员:data数据成员,next指针成员。func()函数参数为链表的头结点指针,pmax用来存放最大值,通过while循环遍历整个链表,在遍历的过程中,将当前结点的data与pmax比较,若pmax小于当前结点的data,则使用当前结点的data更新pmax,最后将pmax的值作为函数返回值返回。
转载请注明原文地址:https://kaotiyun.com/show/yqCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf("%d\n",m);}程序的运行结果是()。
有以下函数:intfun(char*s){char*t=s;while(*t++);return(t-s);}该函数的功能是()。
当变量13的值不为2、4、6时,值为“真”的表达式是()。
某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,front=10,rear=5。该队列中的元素个数为()。
设循环队列的存储空间为Q(1:50),初始状态为front=Fear=50。现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为()。
在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数()。
已知字符A的ASCII码值是65,字符变量c1的值是’A’,c2的值是’D’,则执行语句printf("%d,%d",c1,c2-2);的输出结果是()。
若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是()。
有以下程序#includeintf(intn);main(){inta=3,s;intf(intn){staticinta=1;s=f(a);n+=a
随机试题
患者,女性,50岁。右乳腺癌根治术后上肢活动受限。护士指导其患侧肢体康复锻炼,应达到的目的是
通常接左下肢导联线的颜色为
患者,男,54岁,有慢性咳嗽、咳痰史10年。近1年来,渐感呼吸急促。X线检查见肺野透亮度增加。肺功能测定,FEV1%为45%。最可能的诊断是
医疗机构配制的制剂,应当符合以下要求,除了
潜水员水下安装的作业安全规定有()。
华某系江塘市某化工厂制剂车间工艺员,负责工艺流程管理和记录,兼做清洗参观服等工作,2009年3月26日午休时,华某提水桶到蒸气阀口处接热水时,被蒸气烫伤,经诊断,华某全身烫伤22%。同年5月17日,华某父亲向江塘市劳动和社会保障局提出工伤认定申请,同年7月
A.甲状腺乳头状癌B.甲状腺滤泡状癌C.甲状腺髓样癌D.甲状腺未分化癌来自甲状腺C细胞的癌是
根据继承法的有关规定,下列选项中,需要两个无利害关系人在场见证的遗嘱形式是()。
Adatawarehouseisasubject-orienteddatasetusedforreportingandanalysis.Datawarehousescanbesubdividedinto()
A、Theybrokedownandcouldgonofurther.B、Theyhaven’tachievedmuch.C、Theyhaveproducedageneralagreement.D、Theyhaven’
最新回复
(
0
)