首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划 线删除,使程序
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(data)和指针域(next),数据域为整型。函数fun的作用是:找出链表各结点数据域中的最大值,其最大值由函数值返回。 请在程序的下划线处填入正确的内容并把下划 线删除,使程序
admin
2020-06-02
32
问题
给定程序中,已建立一个带有头结点的单向链表,链表中的各结点包含数据域(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://jikaoti.com/ti/l4G0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列定义数组的语句中错误的是()。
有以下程序:#include<stdio.h>main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序的运行结果是(
有以下程序:#include<stdio.h>main(){intk=5:while(-k)printf("%d",k-=3);printf("\n");}执行后的输出结果是()。
设有如下函数定义:#include<stdio.h>intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若执行调用语句n=fun(3);,则函数
某带链的队列初始状态为front=rear=NULL。经过一系列正常的入队与退队操作后,front=10,rear=5。该队列中的元素个数为()。
以下能正确定义一维数组的选项是
有以下程序#includeintf(intn);main(){inta=3,s;intf(intn){staticinta=1;s=f(a);n+=a
有以下程序#includemain(){intk=4,m=1,p;fun(inta,intb){intstaticm=0,i=2;p=fun(k,m);i=i+m+1;
当用户要求输入的字符串中含有空格时,应使用的输入函数是
随机试题
________,靡有朝矣!
关于全厚皮片何者描述不正确
含强心成分含异硫氰酸苄酯等
下列属于办理支付结算基本要求的有()。
奥林匹克运动对于精英体育的推动作用是__________的,奥运会在国际体坛的至尊地位就已经说明一切。而它对大众体育的促进作用则不能做过高评价,世界卫生组织2002年的一份材料称,缺少健康运动的程度在所有发达国家和发展中国家都很高。不能做过高评价的更为深刻
假设某计算机的指令长度为20位,具有双操作数、单操作数和无操作数三种指令形式,每个操作数地址规定用6位表示,若操作码字段不固定,现已给出m条双操作数指令,n条无操作数指令。在此情况下,这台计算机最多可以设计出()条单操作数指令。
甲教唆乙强奸丁,丙知情后,给乙提供了丁家门的钥匙。乙将丁强奸。关于本案,下列说法中正确的是()
请利用颜色标记,向图表中添加工作表中新增加的“成都”的销售情况(在工作表最右侧)。
A、Itmeansthatatanytimeyoucanbuycurrencyofonecountryforanothercurrency.B、Itmeansthattheactualandvariableam
ComputerCrimeI.IntroductionCurrentsituation;theincreaseinnumberandtypeofcomputercrimeII.Featuresofcomputer
最新回复
(
0
)