10个人的成绩存放在score数组中,请编写函数fun,它的功能是返回低于平均分的人数,并将低于平均分的分数放在below数组中,在主函数中输出。主函数如下:
void main()
{
float score[10],below[10];int num;int i;
for(i=0;i<10;i++)
scanf("%f",&score[i]);
num=fun(score,below);
printf("%d:",num);
for(i=0;i<num;i++)
printf("%.2f ",below[i]);
}
遍历数组求平均分,然后再重新遍历找低于平均分的即可
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int fun(float score[], float below[]);
void main()
{
float score[10], below[10]; int num; int i;
for (i = 0; i < 10; i++)
scanf("%f", &score[i]);
num = fun(score, below);
printf("%d:", num);
for (i = 0; i < num; i++)
printf("%.2f ", below[i]);
}
int fun(float score[], float below[])
{
int i, nmb;
float ave = 0;
for (i = 0; i < 10; i++)
ave += score[i];
ave /= 10.0;
nmb = 0;
for (i = 0; i < 10; i++)
{
if (score[i] < ave)
{
below[nmb] = score[i];
nmb++;
}
}
return nmb;
}
#include<stdio.h>
int fun(flaot*s,flaot*b)
{
flaot sum = 0;
int count = 0,i;
flaot ave;
for (i = 0; i < 10; i++)
sum += s[i];
ave = sum / 10.0;
for (i = 0; i < 10; i++)
{
if (s[i] < ave)
{
b[count++] = s[i];
}
}
return count;
}
void main()
{
float score[10], below[10]; int num; int i;
for (i = 0; i < 10; i++)
scanf("%f", &score[i]);
num = fun(score, below);
printf("%d:", num);
for (i = 0; i < num; i++)
printf("%.2f ", below[i]);
}