题目内容:
M名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数proc()。它的功能是:找出学生的最高分,由函数值返回。注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<stdlib.h>
#define M 8
struet slist
(double S;
slrucl Mist*next;
);
typedef struct slist STREC:
double proc(STRgC*h)
(
}
STREC*creeli(double*S)
{
STREC *h,*p,*q;
int i=0;
h=p=(STREC*)malloe(sizeof(STREC));
p->s=0:
while(i<M)
/产生8个节点的链表,各分数存入链表中
{ q=(STREC*)malloc(sizeof(STREC)):
p->s=s[i];++ p->next=q;p=q;
}
p->next=NULL:
return h;//返回链表的首地址
}
void outlist(STREC*11)
{
STREC *p;
p=h;
printf(”head”);
do
{
printf(“->%2.0f”,p->s);p=p-2>next;)
//输出各分数
while(p->next!=NULL):
print[(”\n\n”);
)
void main()
{
double stu[M]={60,70,80,90,65,75,85,95,
max:
STREC * h:
h=ereat(stu);
oullist(h):
max=proc(h):
printf(”max=%6.1f\n”,max):
)
参考答案:
答案解析: