一道几乎没水准的题m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的成绩放在 below 所指的数组中。
输入所有人的成绩,这里M固定等于9。输出低于平均分的成绩
#include <stdio.h>
#include <string.h>
int fun(int score[],int m, int below[]) //两个数组是地址传递
{
//m接收人数
int sum = 0;
for(int i = 0;i < m; i++) //m是9.循环求和
{
sum += score[i];
}
float ave = 1.0 * sum / m; //求平均值
int fanhui = 0; //存储要返回的人数。也就是低于平均分的人数。
for(int i = 0; i < m; i++)
{
if(score[i] < ave )
{
below[fanhui] = score[i]; //把低于平均分的成绩放到below数组
fanhui++; //低于平均分人数加1;
}
}
return fanhui;
}
int main()
{ int i,n,below[9]; //bello存储的是低于平均分的成绩
int score[9]; //存放所有成绩
for(i=0;i<9;i++) //循环输入存储成绩
scanf("%d",&score[i]);
n=fun(score,9,below); //求低于平均分的人数。由自定义函数fun返回
for(i=0;i<n;i++) //把低于平均分的成绩输出
printf("%d ",below[i]);
return 0;
}
|