首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
admin
2019-04-04
79
问题
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动mun函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include < stdio.h >
#include < conio .h >
#include < stdlib.h >
typedef struct aa
{ int data;
struct aa * next;
} NODE;
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 *hf FILE *pf)
{ NODE *p;
p =h 一 > next;
fprintf (pf, "\n The LIST :\n\n
HEAD") ;
while (p)
{ fprintf (pf, " 一 > %d",p 一 > data) ;
p =p 一 > next; }
fprintf (pf, "\n") ;
}
main()
{NODE*head;int m;
system("CLS");
head=creatlink(12,100);
outiink(head,stdout);
m=fun(head);
printf("\nThe RESULT:\n");
outresult(m,stdout);
}
选项
答案
(1)p=h一 >next; (2)p=p一 >next;
解析
(1)因为链表的头结点没有数据域,所以对指针p进行初始化时,要将p指向头结点的下一个结点。
(2)通过指针p的移动遍历链表,因此此处应改为p=p一 > next;。
转载请注明原文地址:https://www.kaotiyun.com/show/nnRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
执行以下的程序段后,m的值是______。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;P=&a[0][0];m=p[4];
若变量a是int类型,并执行了语句:a=’A’+1.6;则正确的叙述是
以下程序运行后的输出结果是[]。main(){intx,a=1,b=2,c=3,d=4;x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;pri
下面的程序通过函数average计算数组中各元素的平均值,请填空。floatavetage(int*pa,intn) {inti; floatavg=0.0; for(i=0;i<n;i++); avg
假设用—个长度为50的数组(数组元素的下标从0至到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶揩针top指向栈顶元素,如果bottomn=49,top=30(数组下标),则栈中具有【】个元素。
以下程序执行后sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
下列表达式中,可以正确表示x≤0或x≥1的关系是()。
若有下列定义(设int类型变量占2个字节):inti=8,j=9;则下列语句:printf("i=%u,j=%x\n",i,j);输出的结果是()。
在数据管理技术发展的三个阶段中,数据共享最好的是______。
下列程序的运行结果是:【】。#include<stringh>char*ss(char*s){returns+strlen(s)/2;}main(){char*p,*str="abcdefgh";p=
随机试题
敏感性训练
有些疾病仅靠X线检查即能确诊,除了( )
新生儿硬肿症发病的内因是
施工单位负责人在开工会议上宣布了拟参加或不参加安全生产教育培训人员的名单见下表,根据我国《建设工程安全生产管理条例》的规定,你认为所有不正确的安排是()。
在《个人所得税法实施条例》中,规定附加减除费用的适用范围包括()。
下列各项,应计入增值税应税销售额的是()。
From:WayneThomas[wayne@e-solutions.com]To:terry.giblert@monavale.comCc:KarenRussell[Karen.russell@e-solutions.com]S
教师的专业素养是当代教育质量的集中体现,它主要表现在教师的()。
Themainideaofthesebusiness--schoolacademicsisappealing.Inawordwherecompaniesmustadapttonewtechnologiesandsou
CluestoHelpExplaintheFrequencyofInjuriesThethreewomenareallseriousathletes,andtheyworktogetheratasmall
最新回复
(
0
)