活动设计题      m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。
    例如,当score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below所指的数组中的数据应为:10、20、30、40。
    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
    给定源程序:
    #include<stdio.h>
    #include<string.h>
    int fun(int score[], int m, int below[])
    {
    }
    main()
    {int i, n, below[9];
    int score[9]={10, 20, 30, 40, 50, 60, 70, 80, 90};
    n=fun(score, 9, below);
    printf('\nBelow the average score are:');
    for(i=0; i<n; i++)printf('%d', below[i]);
    }
 
【正确答案】int fun(int score[], int m, int below[]) { int i, j=0; float av=0.0; for(i=0; i<m; i++) av=av+score[i]/m; for(i=0; i<m; i++) if(score[i]<av) below[j++]=score[i]; return j; }
【答案解析】要计算低于平均分的人数,首先应该求出平均分,然后通过for循环语句和if条件语句找出低于平均分的分数。该题第1个循环的作用是求出平均分av,第2个循环的作用是找出低于平均分的成绩记录并存入below数组中。