// 输出学生成绩(动态分配)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i;
double sum = 0;
double aver; //平均成绩
double *p;
printf("请输入学生人数:");
scanf("%d",&n);
if((p=(double *)calloc(n, sizeof(double))) == NULL)
{
printf("分配内存失败\n");
exit(1);
}
printf("请输入%d个学生的成绩:\n",n);
for(i=0;i<n;i++)
{
scanf("%lf",p+i);
}
double min = *(p+0); //最低成绩
double max = *(p+0); //最高成绩
for(i=0;i<n;i++)
{
sum = sum + *(p+i);
if(*(p+i)<min)
{
min = *(p+i);
}
if(*(p+i)>max)
{
max = *(p+i);
}
}
aver = sum/n;
printf("平均成绩是%f分\n",aver);
printf("最高成绩是%f分\n",max);
printf("最低成绩是%f分\n",min);
free(p);
return 0;
}