#include <stdio.h>
float Max=0;
int J=0;
float fun(float array[],int n);
int main()
{
float a[10],ave;
int i=0;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("ave=%.2f\n",ave);
printf("max=%.02f\n",Max);
printf("Total:%d\n",J);
return 0;
}
float fun(float array[],int n)
{
double sum=0;
double temp,t;
int i;
for(i = 0;i<n; i++)
{
sum+=array[i];
}
for(i = 0,temp=array[0];i<n;i++)
{
if(array[i]>temp)
{
t=temp;
temp=array[i];
array[i]=t;
}
}
Max = temp;
for(i = 0;i<n;i++)
{
if(array[i]==Max)
J++;
}
return sum/n;
}
float fun()函数修改如下,供参考:
float fun(float array[],int n)
{
double sum=0;
double temp,t;
int i;
for(i = 0;i<n; i++)
{
sum+=array[i];
}
for(i = 0,temp=array[0];i<n;i++)
{
if(array[i]>temp)
{
//t=temp;
temp=array[i];
//array[i]=t;
}
}
Max = temp;
for(i = 0;i<n;i++)
{
if(array[i]==Max)
J++;
}
return sum/n;
}
数组被你改了,找不到原来最大值了,不知道你这程序是用来干嘛的