首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序的功能是:建立一个带头节点的单向链表,并用随机函数为各节点数据域赋值。函数fun的作用是求出单向链表节点(不包括头节点)数据域中的最大值,
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序的功能是:建立一个带头节点的单向链表,并用随机函数为各节点数据域赋值。函数fun的作用是求出单向链表节点(不包括头节点)数据域中的最大值,
admin
2018-10-21
53
问题
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序的功能是:建立一个带头节点的单向链表,并用随机函数为各节点数据域赋值。函数fun的作用是求出单向链表节点(不包括头节点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#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﹣>nexL;
}
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*h,FILE*pf)
{NODE*p;
p=h﹣>next;
fprintf(pf,"\n The LIST:\n\nHEAD");
while(p)
{fprintf(pf,"﹣>%d",p﹣>data);
p=p﹣>next;}
fprintf(pf,"\n"),
}
main()
{NODE*head;int m,
system("CLS");
head=creatlink(12,100);
outlink(head,stclout);
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/N0xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下函数调用语句中含有_______个实参。func((exp1,exp2),(exp3,exp4,exp5));
C语言中while循环和do-while循环的主要区别是______。
以下关于字符串的叙述中正确的是()。
若已定义c为字符型变量,则下列语句中正确的是()。
在执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是______。main(){ints,t,a,b;scanf("%d,%d",&a,&b);s=1,t=1;if(a>0)s=s+1;if(a
下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符1,则输出3,请填空。#include<conio.h>#include<stdio.h>#defineM81
有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序运行后的输出结果是()。
有如下程序#include<stdio.h>main(){intv1=0,v2=0;charch;while((ch=getchar())!=’#’)switch(ch)
s1和s2已正确定义,并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;,则以下选项正确的是______。
如下程序的输出结果是______。main(){staticinta[4]={1,2,3,4};int**k,*j;j=a+1;k=&j;printf("%d\n",*(*k+2));
随机试题
引起非糖尿病酮症的原因不包括
A.HCO3-下降,pH上升,PaCO2下降B.HCO3-上升,pH上升,PaCO2正常C.HCO3-下降,pH下降,PaCO2正常D.HCO3-正常,pH下降,PaCO2上升E.HCO3-正常,pH下降,PaCO2下降代谢性酸中毒的特征
行气管切开时,切口不宜低于第5气管软骨环,否则易
设P(A)=a,P(B)=b,P(A∪B)=c,则=()。
左边给定的是纸盒外表面的展开图,右边哪一项能由它折叠而成?请把它找出来。
Inoursocietytherazorofnecessitycutsclose.Youmustmakeabucktosurvivetheday.Youmustworktomakeabuck.Thejob
假定经济体的总量生产函数为Y=K0.5L0.5,在2012年,人均产出为4,投资率为0.5,劳动增长率为1%,资本折旧率为9%。(2014年中山大学801经济学)经济体稳态时的人均资本存量是多少?
假设甲公司的固定成本占总成本比例高于乙公司固定成本占总成本比例,且两家公司的周期性、资本结构相似,下列正确的是()。[上海财经大学2013研]
简述梁漱溟的乡村教育理论。
Youaregoingtoreadalistofheadingsandatextabouthappiness.ChoosethemostsuitableheadingfromthelistA—Fforeach
最新回复
(
0
)