首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划 线删除,使程序
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划 线删除,使程序
admin
2020-06-02
27
问题
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(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全国计算机二级
相关试题推荐
有以下程序(strcat函数用于连接两个字符串):#include<stdio.h>#include<string.h>main(){chara[20]="ABCD\0EFG\0",b[]="IJK";strcat(a,b);printf(
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是()。
有以下程序:#include<stdio.h>intf(intx);main(){intn=1,m;m=f(f(f(n)));pfinff("%d\n",m);}intf(intx){returnx*2;}程序的运行结
若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是()。
设二叉树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为
在容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为
若有定义谙句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是
有以下程序intf(intm)main(){intn=0;{staticintn=0;printf("%d,",f(++n));n+=m;return
随机试题
begiven,wasgiven,hadbeengiven,to,at,forIrecommendedthatfavorableconsideration____________hisapplicationfor
先兆子痫者,选用解痉药物为()。
《民法典》第591条规定:“当事人一方违约后,对方应当采取适当措施防止损失的扩大;没有采取适当措施致使损失扩大的,不得就扩大的损失请求赔偿。当事人因防止损失扩大而支出的合理费用,由违约方负担。”请谈谈对上述法条的理解。[北大2013年研改编]
【2007年第31题】如图3-523所示结构,当A、D点同时作用外力P时,下述对E点变形特征的描述何者正确?
在中华人民共和国境内开采( )的单位和个人,为资源税的纳税人。
下列关于扣缴义务人的说法错误的是()。
2015年3月31日,甲公司采用出包方式对某项固定资产进行改良,该固定资产账面原价为3600万元,预计使用年限为5年,截止到2015年3月31日已使用3年,预计净残值为零,采用年限平均法计提折旧。甲公司支付出包工程款60万元。2015年9月30日,改良工程
党和国家机构职能体系是中国特色社会主义制度的重要组成部分,是我们党治国理政的重要保障。深化党和国家机构改革是推进国家治理体系和治理能力现代化的一场深刻变革。下列有关党和国家机构改革的说法正确的是()。
NoEnglishmanbelievesinworkingfrombooklearning.Hesuspectseverythingnew,anddislikesit,unlesshecanbecompelledb
TheEnglishnationalcharacterisdualistic:Oneaspectisconservative,theotherextroverted(性格外向的).Thepubisafineexample
最新回复
(
0
)