#include<stdio.h>
double Max(double*p,int n)
{
double max=*p;
for(int i=0;i<n;i++)
if(*(p+i)>max)
max=*(p+i);
return max;
}
double Min(double *p,int n)
{
double min=*p;
for(int i=0;i<n;i++)
if(*(p+i)<min)
min=*(p+i);
return min;
}
double Average(double *p,int n)
{
double sum=0;
for(int i=0;i<n;i++)
sum+=*(p+i);
return sum/n;
}
int main()
{
double a[10];
printf("请输入10个实数:\n");
for(int i=0;i<10;i++)
scanf("%f",&a[i]);
printf("这10个数中最大值为:%f\n",Max(a,10));
printf("这10个数中最小值为:%f\n",Min(a,10));
printf("这10个数的平均值为:%f\n",Average(a,10));
return 0;
}
追问
为什么运行之后是这样的呢?主函数前面的void我后来改的,一开始按照你的int 和后面的return 0也是这个样子的。请问为什么?谢谢!
追答我用的是scanf
你用的是scanf_s, scanf_s你少了一个参数,应该是这样的scanf_s("%f",&a[i],1);