有个c语言的问题,高手请进,20分给你

来源:百度知道 编辑:UC知道 时间:2024/06/25 12:46:52
m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数数值返回,将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为10、20、30、40。

#include <stdio.h>
#define M 9
int fun(int *score,int num)
{int i=0,j=0,sum=0,abovenum=0,below[M];
float ave;
for(i=0;i<num;i++)
sum+=score[i];
ave=(float)sum/num;
for(i=0;i<num;i++)
if(score[i]>=ave)
abovenum+=1;
else
{below[++j]=score[i];
printf("below[%d]=%d\n",j,below[j]);
}
return abovenum;
}
int main()
{int score[M];
int i,abovenum;
printf("Please input the scores:");
for(i=0;i<M;i++)
scanf("%d",score+i);
abovenum=fun(score,M);
printf("abovenum=%d\n",abovenum);
return 0;
}

int fun(int score[], int below[], int m)
{
int cnt = 0, avg = 0, i = 0;
//求均值
for (i = 0; i < m; ++i) {
avg += score[i];
}
avg /= m;
//插入below
for (i = 0; i < m; ++i) {
if(score[i] < avg) {
below[cnt++] = score[i];<