首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
admin
2019-04-04
60
问题
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数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://kaotiyun.com/show/nnRp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序运行后的输出结果是[]。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
有下列程序:#include<stdio.h>main(){charc;while((c=getchar())!=’,’)putchar(++C);}程序运行时,如果从键盘输入:A,B,<CR>,则输出结
下列程序的输出结果是______。intm=10;intfun(inta,intB){intm=2;return(a*b-m);}main(){intx=7,y=5;
以下程序执行后sum的值是______。main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}
要正确定义并初始化一个数组a,它含有5个元素,则正确的语句是______。
下述程序的输出结果是()。#includemain(){inti;for(i=1;i<=10;i++){if(i*i>=20)&&(i*i<=100))break;
设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为()。
以下4个程序中,完全正确的是
下列叙述中错误的是()。
随机试题
学科课程以学科为中心,活动课程以_____为中心。
口服补液盐不适合于
设备采购监理的监理资料不包括选项中的()。
背景资料: A公司中标某工业改建工程,合同内容包含厂区所有的设备、工艺管线安装等施工总承包。A公司进场后,根据工程特点,对工程合同进行分析管理,将其中亏损风险较大的部分埋地工艺管道(设计压力0.2MPa)施工分包给具有资质的B公司。 A公司对B公司进行
新人伙的普通合伙人只对其入伙后的合伙企业债务承担连带责任。()
2018年7月,开发商甲公司与乙建筑公司订立建设工程合同,由乙公司为其承建商品房一栋。之后乙公司将工程转包给无相应建筑资质的丙公司。丙公司为承建该工程,向丁公司融资租赁塔吊两台,丁公司因此根据丙公司的选择与厂家签订了买卖合同,合同未约定质量检验期
合唱谱采用高、低音谱表分声部记录,高音谱表记录_________、_________两个声部,低音谱表记录次中音与低音声部。
矛盾不可避免,问题总是存在,但我们既不能因为畏惧困难就____________,也不能只凭____________的一腔血勇。填入画横线部分最恰当的一项是:
A
A、Trydifferentclassestomakesurewhichmajorfitsyou.B、Neverchangemajorsonceyou’vejuststartedthecourse.C、Changem
最新回复
(
0
)