首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。 请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数
admin
2019-09-02
84
问题
给定程序MODI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<stdlib.h>
typedef struct aa
{int data;
struct aa*next;
}NODE;
int fun(NODE*h)
{ int max=-1;
NODE*p;
/**********found**********/
p=h;
while(p)
{ if(p->data>max)
nlax=p->data;
/**********found**********/
p=h->next;
}
return max;
}
outresult(int s,FILE*pf)
{fprintf(pf,"\nThe max inlink:%d\ia",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,"\nTHE LIST:\n\n HEAD");
while(p)
{fprintf(pf,"->%d",p->data);p=p->next;}
fprLntf(pf,"\n"),
}
main()
{NODE*head;int m;
head=creatlink(12,100);
outlink(head,stdout);
m=fun(head);
printf("\nTE RESULT:\n");outresult(m,stdout);
}
选项
答案
(1)p=h->next; (2)p=p->next;
解析
函数功能是求单向链表结点(不包括头结点)数据域中的最大值。其中,单链表查找最大值及最小值的方法主要是对单链表的遍历,并在遍历过程中将初始化的最大值、最小值与链表中的每一个结点的数据域进行比较。
(1)根据题干中求得除了头结点之外的结点数据域中的最大值,头指针h,工作指针p指向头结点的下一个结点,所以,第一个标识下的“p=h;”指向头结点应该改为指向下一个结点“p=h->next;”。
(2)工作指针p,利用p实现对链表的遍历,p表示指向链表的当前结点,所以指向下一个结点应该是“p=p->next;”。
转载请注明原文地址:https://kaotiyun.com/show/xORp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。例如,若输入:17,则应输出:46891012141516。注意:部分源程序在文件PROG1.C中。请勿改动
给定程序MODI1.C中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。例如,若输入"Ab,cD",则输出"AB,CD"。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数
请编写函数fun,它的功能是:求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内
给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参s所指的字符串为:ThisisaClanguageprogram,函数的返回值为6。请在程
给定程序MODI1.C中函数fun的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。例如:若输入:THIsisaboot,则输出应该是:1、0、2、2、0。请改正程序中的错误,使它能得出正确
若有以下程序#includeintk=7,m=5:voidf(int*s){int*t=&k;s=&t;*s=&m;printf("%d,%d,%d,",k,*t,*s);}main(){inti=3,*p=&i,*r=&p;f(r
有以下程序#includemain(){inta=1,b=0;printf("%d,",b=a+B)printf("%d\n",a=2*B)}程序运行后的输出结果是
以下叙述中正确的是
有两个关系R和S如下:由关系R通过运算得到关系S,则所使用的运算为
关系R经过运算σA=B∧C>4∧D>3(R)的结果为()。
随机试题
使用销售利润率进行市场营销控制,这种控制类型是【】
设A为m×n矩阵,秩为,r,C为n阶可逆矩阵,矩阵B=AC,秩(B)=r1,则()
在Windows附件中,下面叙述正确的是______。
以下属于肺阳虚证的临床表现的有
公共建筑及综合性建筑通常是按照建筑总高度来划分的,总高度超过24m的为高层(但不包括总高度24m的单层建筑)。()
下列关于凭证审核的操作控制的说法中,错误的是()。
一般资料:求助者,男性,58岁。案例介绍:求助者退休前是公交车司机,退休后每星期有几天跟其他几位已退休的老朋友碰面,一起下棋、遛鸟。喜欢修理东西,帮亲戚、朋友修自行车。两年前,被诊断为肠癌,早期发现,手术、化疗之后康复很好。在化疗时,一位相识30
下图为“我国西部某山地北坡垂直带谱示意图”。该山地海拔2500~3400m间的一小流域水量平衡实验资料显示,该流域多年平均降水量为460mm,水量支出中蒸发占28%,下渗占2%,不产生地表径流。甲表示的自然带是()。
中共十七大报告指出,我国“市场体系不断健全,宏观调控继续改善,政府职能加快转变”。下列行为属于宏观调控经济手段的是()。
Allflights______becauseofthesnowstorm,manypassengerscoulddonothingbuttakethetrain.
最新回复
(
0
)