#include "stdio.h"
struct number
{
float value;//值
struct number *next;//指向后继
};
struct number *head = NULL;//头指针
struct number *p1;//活动指针
struct number *p2;//尾指针
float max,min,sum,count;//最大值、最小值、和、数量
//输入数值
void input()
{
for(;;)
{
//申请内存空间并赋值
p1 = (struct number*)malloc(sizeof(struct number));
scanf("%f",&p1->value);
p1->next = NULL;
//判断是否等于-1
if(p1->value == -1)
{
free(p1);
return;
}
//判断头指针是否为空
if(head == NULL)
head = p1;
else
p2->next = p1;
p2 = p1;
}
}
//求最大值、最小值、和、数量
void maxMin()
{
//初始化三个值
p1 = head;
max = min = p1->value;
sum = count = 0;
while(p1 != NULL)
{
//找最大值
if(p1->value > max)
max = p1->value;
//找最小值
if(p1->value < min)
min = p1->value;
sum += p1->value;//求和
count++;//数量
p1 = p1->next;
}
}
//输出所有值
void print()
{
p1 = head;
while(p1 != NULL)
{
printf("%g ",p1->value);
p1 = p1->next;
}
printf("\n");
}
int main()
{
printf("请连续输入n个整数,输入-1结束\n");
input();
printf("**************\n");
maxMin();
printf("最大值 = %g\n",max);
printf("最小值 = %g\n",min);
printf("平均值 = %g\n",sum/count);
}
温馨提示:答案为网友推荐,仅供参考