首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表韵头节点。请编写函数fun,它的功能是。找出学生的最高分,由函数值返回。 注意:部分源程序在文件PROGl.C文件中。 请勿改动主函数main和其他函数中的任何内容。仅在函数
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表韵头节点。请编写函数fun,它的功能是。找出学生的最高分,由函数值返回。 注意:部分源程序在文件PROGl.C文件中。 请勿改动主函数main和其他函数中的任何内容。仅在函数
admin
2013-06-12
69
问题
N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表韵头节点。请编写函数fun,它的功能是。找出学生的最高分,由函数值返回。
注意:部分源程序在文件PROGl.C文件中。
请勿改动主函数main和其他函数中的任何内容。仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 8
struct slist
{double s;
struct slist *next;
};
typedef struct slist STREC;
double fun(STREC *h)
{
}
STREC * creat(double *s)
{STREC *h,*p,*q; int i=0;
h=p=(STREC*)malloc(sizeof(STREC));p->s=0;
while(i
{q=(STREC*)malloc(sizeof(STREC));
q->s=s
; i++; p->next=q; p=q;
}
p->next=0;
return h;
}
outlist(STREC *h)
{STREC *p;
p=h->next; printf("head");
do
{printf("->%2.0f",p->s);p=p->next;}
while(p!=0);
printf("\n\n");
}
main()
{double s[N]={85,76,69,85,91,72,64,87}, max;void NONO ();
STREC *h;
h=creat(s); outlist(h);
max=fun(h);
printf("max=%6.1f\n",max);
NONO();
}
void NONO ()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *in, *out ;
int i,j ; double s[N],max;
STREC *h ;
in = fopen("in.dat","r");
out = fopen("out.dat","w");
for(i = 0 ; i < 10 ; i++) {
for(j=0 ; j < N; j++) fscanf(in, "%lf,", &s[j]);
h=creat(s);
max=fun(h);
fprintf(out, "%6.1lf\n", max);
}
fclose(in);
fclose(out);
}
选项
答案
{ double max=h->s; STREC *p; p=h->next; while(p) {if(p->s>max) max=p->s; p=p->next; } return max; }
解析
进入fun函数,根据前面的分析:
(1)设置一个工作指针,指向头节点。设置一个变量存放最大值,初值为头节点数据域的值。
(2)移动工作指针到后一个节点,并将数据域的值与max比较,将较大的值存入max。
(3)移动工作指针,指向下一个节点,直到指针指向链表尾。
转载请注明原文地址:https://kaotiyun.com/show/RrJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
已知指针p的指向如下图所示,则执行语句“--p;”后p的值是______。
有以下程序 #define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,1
软件工程研究的内容主要包括:______技术和软件工程管理。
给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。和值通过函数值返回main函数。例如,n=10,则输出16.479905。/************found************/fun(intn)
设有以下程序#include<stdio.h>main(){intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10
若从键盘输入34,则以下程序输出的结果是______。#include<stdio.h>main(){inta;scanf("%d",&a);if(a>30)printf("%d",a);
如下程序的运行结果是______。 #include<stdio.h> main() { int x=y=3,z=1; printf ("%d%d\n",(++x,y++),z+2); }
对长度为4的顺序表进行查找,若第一个元素的概率为1/8,第二个元素的概率为1/4,第三个元素的概率3/8,第四个元素的概率为1/4,则查找任一元素的平均查找长度为______。
有如下程序main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];prin
下列程序把数组元素中的最大值放入a[0]中。则在if语句中的条件表达式应该是______。main(){inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i,bfor(i=0:i<10:i++,p+
随机试题
企业发生的一切支出都属于费用。()
格萨尔文化在国内外享有极高的声誉,其特征包括()。
《五代史伶官传序》中的“伶官”是指()
男性,64岁。30年前曾患右上肺结核,经INH、SM和PAS治疗约1年。5年前病灶复发,痰结核杆菌(++),应用2HRZ/4HR治疗,痰菌转阴,病灶吸收满意。近1个月咳嗽、痰血再次就诊。X线示右上肺前段阻塞性炎症,肺CT示前段支气管阻塞,无纵隔淋巴结肿大。
肺炎患者出现感染中毒性休克,此时首要处理是
基坑施工时的安全技术要求有()。
与期货一样,期权通常也是一种标准化的合约。目前,我国在股权分置改革中推出的金融衍生品种有()
1.6月23日傍晚时分,十年来最大一场雨“空袭”京城。雨一直下,越下越大,陶然亭地铁站变成了“水帘洞”,西客站附近的莲花桥下变成了“游泳池”,南二环主路右安门路段断路,在大望路、安华桥这些地方,那些底盘高的SUV(运动型越野车)或许还能涉水缓慢前
A、 B、 C、 D、 C
AUNSecurityCouncildelegationtravelstoSouthAfricaonthefirststopofanine-nationAfricantouraimedat______.
最新回复
(
0
)