首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确
admin
2022-04-02
99
问题
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(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;
while(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("Max=%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/6hkp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序charfun(char*c){if(*c<=’Z’&&*c>=’A’)*c=’A’-’a’;return*c;}main(){char
有以下程序main(){inta=3:a+=a-=a*a;printf("%d\n",a);}程序的输出结果是
有以下函数intfun(char*s){char*t=s;while(*t++);retum(t-s);)该函数的功能是
下列程序的运行结果是()。#includevoidsub(int*s,int*y){staticintm=4;*y=s[m];m--;}voidmain(){inta
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
有以下程序#include<stdio.h>#include’’string.h’’typedefstruct{charname[9];charsex;floatscore[2];}STU;voidf(STUa){STUb={”Zhao’’,’
有以下程序main(){intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;default:n=0;k--;case2:case4:n+=2;k--;break;}printf("%d",n)
有以下函数intfun(char*x,char*y){intn=0:while((*x==*y)&&*x!=’\0’){x++;y++;n++;}returnn;)函数的
if语句的基本形式是:if(表达式)语句,以下关于’’表达式’’值的叙述中正确的是
如图所示:带有头结点的单向链表head,其三个数据结点A、B、C的连接关系见图。结点类型的定义为:struetlink{doubledt;struetlink*next;}.{若指针P指向
随机试题
膝关节三联征是指
男性病人,55岁,头痛3个月,多见于清晨,常出现癫痫发作,经检查诊断为颅内占位性病变、颅内压增高,拟行开颅手术。术后病人出现脑脊液鼻漏。正确的护理方法是
某地区是慢性溃疡性结肠炎的好发区域,预防医学的研究人员希望对该地区进行深入调查,那么对慢性疾病进行现况调查,最适宜计算的指标为
加工成卷沥青
足干性坏疽的特点有
SomeofthesestudiesAhaveshownthatalthoughsomepeoplehavetroubleBtofallasleep,othershaveCanequallydifficulttime
造成故障1的原因是什么?如何解决?1.将故障2中(1)和(2)两处合适的答案填入相应的解答栏内。2.故障2如何解决?
已知数据文件IN44.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数isValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的数的个数cnt,再把所有满足此条件的4位数依次
设有如下程序:OptionBase1PfivmeSubCommand1_Click()Dimarr1DimMinAsInteger,iAs
Theshortageofwaterbecamemore______thissummerwiththehighesttemperaturesin40years.
最新回复
(
0
)