首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,
使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。此程序的功能是:建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,
admin
2018-08-11
46
问题
使用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->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*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,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/pjxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列软件系统结构图的宽度为()。
对两个数组a和b进行下列初始化:charm[]="1234567";charn[]={’1’,’2’,’3,’4’,’5’,’6’,’7’};则下列叙述正确的是()。
下列程序的输出结果是()。#include<stdio.h>voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}main(){inta=1,b=2,*x=&a,*y=
循环控制语句“while(!scanf("%d",&i))getchar();”执行的情况是()
下列程序的输出结果是()。#includevoidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=1,b=2,*x:&a
数据库系统的三级模式分别为【】模式、内部级模式与外部级模式。
若有定义和语句:() int**pp,*p,a=10,b=20 pp=&p;p=&a;p=&b;printf("%d,%d”n",*p,**pp); 则输出结果是
以下程序的输出结果是_______。main(){inti;for(i=1;i<6;i++){if(i%2)(printf("#");continue;}printf("*");
在计算机中,字符的比较是对它们的【】进行比较。
随机试题
新生儿出生1分钟时心率60次/分,无呼吸,无喉反射,四肢稍屈,口唇青紫,全身苍门。Apgar评分为
金银镶嵌宝石首饰、钻石及钻石饰品在零售环节缴纳消费税时,应扣除外购宝石、钻石已支付的消费税。()
我国民事诉讼当事人主要是()。
人格是一个人的存在方式,是个人生物遗传素质与环境交互作用的产物。人格中的气质是先天的,无好坏之分;人格中的性格是后天的,是社会文化模式的刻印,有好坏之分。()
马克思在哲学上的伟大贡献是()。
拟态指的是一个物种在进化过程中,获得与另一种成功物种相似的特征,以混淆另一方(如掠食者)的认知,进而远离或靠近拟态物种。进攻性拟态是指模仿其他生物以便于接近进攻对象的拟态。根据上述定义,下列不属于进攻性拟态的是()。
简述遗赠与遗嘱继承的区别。
Wherecanthemangetmoney?
TheBridgeportRevitalizationCommittee(BRC)13RobinWayBridgeport,MA02126Kevin
Whenyouspeakonthetelephone,youcannotuseyourfacial(面部的)expression,eyecontactandgesturestohelpcommunicateyourme
最新回复
(
0
)