首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在
admin
2019-04-04
45
问题
下列给定程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数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全国计算机二级
相关试题推荐
以下叙述中错误的是______。
有下列程序:fun(intx,inty){return(x+y);}main(){inta=1,b=2,c=3,sum;sm=fun((a++,b++,a+B),c++);printf(
在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。
下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。fun(int*p,intn){int*q;intmax,min;max=min=*p;for(q=p;【】
函数my_cmp()的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码差值,即s>t时返回正值,s
以下程序是求矩阵a、b的和,结果存入矩阵c中,请填空。#includemain(){inta[4][4]={{1,2,6,7),{0,4,2,-8),{1,4,5,2},{2,4,6,8));intb[4]
分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p
下述程序的输出结果是()。#includemain(){inti;for(i=1;i<=10;i++){if(i*i>=20)&&(i*i<=100))break;
利用fseek函数可实现的操作是()。
设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为()。
随机试题
金融衍生工具的总体风险包括()
阅读下面的文字:然而人的安排终于被“偶然”毁坏了。这应该是一个“意外”。但是这“意外”却毫无怜悯地打击了年轻的心。我离家不过一年半光景,就接到了姐姐的死讯。……对于姐姐,她生前我没有好好地爱过她,死后也不曾做过一样纪念她的事。她寂寞地活着,寂寞地
检查下肢静脉,错误的是
A.维生素B1缺乏B.维生素B2缺乏C.维生素E缺乏D.维生素A缺乏E.维生素D缺乏鸡“小脑软化症”
在各种保险中,()最能体现分配职能。
基础测绘的特征不包括()。
个人转让股权的下列情形中,税务机关可以核定股权转让收入的有()。
Sometimesaraceisnotenough.Sometimesarunnerjustwantstogofurther.That’swhathappenedtoDennisMartinandBrookeCu
论述马卡连柯的德育思想。
构成计算机软件的是
最新回复
(
0
)