首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
admin
2021-04-28
26
问题
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数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://jikaoti.com/ti/hIz0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序段inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){case1:case3:printf("%d\n",n);break;case2:case4:prin
有以下程序,输出结果是()。main(){inti=15j=21,n=0;switch(i%3){case0:n++;break;case1:n++:
以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;for(i=0;i
设有定义:intx[2][3];则以下关于二维数组x的叙述错误的是
有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={"One*World","One*Dream!"},*p=str[1];.prinff("%d,",strlen(p
执行下列语句后的结果是()。#defineA2#defineB(a)(A+1)木ac=4木(A+B(5));
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。若有以下程序段:q=s;s=s->next;p=s;while(p->nex
以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是
对于循环队列,下列叙述中正确的是
带链队列空的条件是
随机试题
关于不动产登记程序,下列哪些判断符合《不动产登记暂行条例》的规定?
表所反映的19世纪后期美国钢铁业发展变化的主要特征是
关于质量管理体系构成正确的是
我国现行工伤事故统计中,按照导致事故发生的原因,将工伤事故分为()类。
下列文件中能作为建设工程监理合同文件的是( )。
冯先生年收入为12万元,假定这五年内收人不变,每年的储蓄比率为40%,全部进行投资。五年以后预计冯先生的年收人可达到15万元,储蓄比率不变。目前有存款5万元,打算5年后买房。假设冯先生的投资报酬率为8%。冯先生买房时准备贷款25年,假设房贷利率为6%。
Word中,双击“格式刷”,可将格式从一个区域一次复制到的区域数目是()。
以太网的MAC子层遵守的标准是()。
数字签名技术的主要功能之一是(39)。
在考生文件夹中,“samp1.accdb”数据库文件已建立了3个关联表对象(名为“线路”、“游客”和“刚队”)和窗体对象“brow”。试按以下要求,完成表和窗体的各种操作。将考生文件夹下Excel文件“Test.xlsx”中的数据链接到当前数据库中。
最新回复
(
0
)