一组整数已存放在带头结点的单链表中,设计算法,求结点的最大值,最小值,并运用形参返回
需要几个返回结果,就定义几个符合类型的指针
#include <stdio.h>
#include <stdlib.h>
typedef struct node{
int data;
struct node *next;
}Node,*LinkList;
int fact(LinkList h,int *max);
int prime(LinkList h,int *min);
LinkList create(){
LinkList h,r,s;
h=(LinkList)malloc(sizeof(Node));
r=h;
int a;
scanf("%d",&a);
while(a!=0){
s=(LinkList)malloc(sizeof(Node));
s->data=a;
r->next=s;
r=s;
scanf("%d",&a);
}
r->next=0;
return h;
}
}
int fact(LinkList h,int *max){
LinkList p;
p=h->next;
*max=p->data;
while(p){
if(*max<p->data)*max=p->data;
p=p->next;
}return *max;
}
int prime(LinkList)malloc(sizeof(Node)){
LinkList p;
p=h->next;
*min=p->data;
while(p){
if(*min>p->data)*min=p->data;
p=p->next;
}return *min;
}
int main(){
LinkLst head;
int max,min;
head=create();
fact(head,&max);
prime(head,&min);
printf("%d %d\n",max,min);
return 0;
}