首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
admin
2021-04-28
59
问题
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
1 #include<stdio.h>
2 #include<conio.h>
3 #include<stdlib.h>
4 typedef struct aa
5 {int ctata;
6 struct aa * next;
7 }NODE ;
8 fun(NODE*h)
9 {int max=-1;
10 NODE*p;
11 /*********found*********/
12 p=h;
13 while(p)
14 {if(p->data>max)
15 max=p->data;
16 /********* found*********/
17 p=h->next;
18 }
19 return max;
20 }
21 outresult(int s,FILE*pf)
22 {fprintf(pf,’’\nThe max in link:%d\n’’,s);
23 }
24 NODE * treatlink(int n,int m)
25 {NODE*h,*p,*s ;
26 int i;
27 h=p=(NODE *)malloc(sizeof (NODE));
28 h->data=9999;
29 for(i=l;i<=n;i++)
30 {s=(NODE*)malloc(sizeof (NODE));
31 s->data=rand()%m;
32 s->next=p->nexL;
33 p->next=s;p=p->next;
34 }
35 p->next=NULL;
36 return h;
37 }
38 outlink(NODE*h,FILE*pf)
39 {NODE*p;
40 p=h->next ;
41 fprintf(pf,’’\n The LIST:\n\n HEAD’’);
42 while(p)
43 {fprintf(pf,’’->%d’’,p->data);
44 p=p->next;}
45 fprintf(pf,’’\n’’);
46 }
47 main()
48 {NODE*head;int m;
49 system(’’CLS’’);
50 head=creatlink(12,100);
51 outlink(head,stdout);
52 m=fun(head);
53 printf(’’\nThe RESULT:\n’’);
54 outresult(m,stdout);
55 }
选项
答案
(1)p=h->next; (2)p=p->next;
解析
(1)因为链表的头结点没有数据域,所以对指针p进行初始化时,要将p指向头结点的下一个结点。
(2)通过指针p的移动遍历链表,因此此处应改为p=p->next;。
转载请注明原文地址:https://kaotiyun.com/show/fWtp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
设有定义:doublea,b,c;若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处□代表一个空格)□□1.0□□2.0□□3.0则能进行正确输入的语句是
下面叙述中正确的是
有以下程序#includeintfun(chars[]){char*p=s;while(*p!=0)p++;return(p-s);}main(){printf("%d\n",fun("0ABCDEF"));}程序运行后的输出结果是
下列描述中错误的是
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
对于循环队列,下列叙述中正确的是()。
sizeof(double)是
有以下程序段int*p;p=_______malloc(sizeof(int));若要求使P指向一个int型的动态存储单元,在横线处应填入的是
随机试题
关于高压电缆的叙述,错误的是
男,36岁。3年来出现劳累后胸闷、头晕,1小时前因胸闷自用硝酸甘油片后感头晕加重,暂黑朦而来院。既往无高血压病史,无烟酒史,其父有类似病史。查体:血压120/70mmHg,脉率68次/分、双肺(-),心界不大,心律整,胸骨左缘3-4肋间可闻3/6级收缩期吹
机械安全设计与机器安全装置包括本质安全、失效安全、定位安全、机器布置、机器安全防护装置等5项技术,每项技术又包含若干项安全措施,设计中把机器的危险部件安置到不可能触及的位置的做法属于()技术。
民事主体对智力成果依法享有的专有权利是( )。上述场景中,建设单位的行为( )。
因修改设计导致现场停工而引起施工索赔时,承包商自有施工机械的索赔费用宜按机械()计算。
会计电算化属于计算机应用中的()领域。
(2010年第12题)管理者对待组织中存在的非正式组织现象,应该持有的态度是:
信息资源管理是对包括()等在内的信息资源的管理。
【B1】【B7】
Whiledrivingalongthebumpyroad,______.
最新回复
(
0
)