#include<stdio.h>
int deal(int a[],int m,int up[]);
int main()
{
int i,j,count=0;
int score[]={1,2,3,4,5,6,7,8,9,0,10},up[100]={-1};
count=deal(score,11,up);
printf("%d\n",count);
for(i=0;i<count;i++)
printf("%-4d",up[i]);
return 0;
}
int deal(int a[],int m,int up[])
{
double sum=0,aver;
int i=0,count=0,j=0;
while(i<m)
{
sum=sum+a[i];
i++;
}
aver=sum*1.0/m;
for(i=0;i<m;i++)
{
if(a[i]>aver)
{
count++;
up[j]=a[i];
j++;
}
}
return count;
}
输出为:
5
6 7 8 9 10
但是数字要是大且多得话,就得考虑溢出了!
温馨提示:答案为网友推荐,仅供参考