itgle.com

m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为:10、20、30、40。注意:部分源程序在文件PROGl.C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

题目

m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。

例如,当score数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为:10、20、30、40。

注意:部分源程序在文件PROGl.C文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


相似考题
参考答案和解析
正确答案:
解析:(1)该程序功能是返回低于平均分的人数。它的解题思路可以分解为以下几步:求总分一求平均分一逐个元素与平均分比较一统计低于平均分的人数。
(2)从已给部分源程序的main主函数开始入手,核心函数fun(score,9,below)中的参数由题目可知,score存放着m个人的成绩,below存放低于平均分的分数。另外,根据score的定义,可知9为score数组中元素的个数,传给函数fun中的参数m。
更多“ m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。例如,当score数组中的数据为:10、20、30、40、50、6”相关问题
  • 第1题:

    给定程序MODll.C中,函数fun的功能是:在有n名学生,2门课成绩的结构体数组std中,计算出第l门课程的平均分,作为函数值返回。例如,主函数中给出了4名学生的数据,则程序运行的结果为:第l门课程的平均分是:76.125000

    请改正函数fun中指定部位的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:


    正确答案:
    (1)doublesum改为doublesunl=0.0;(2)for(i=0;i<2;i*)改为细(i=0;i<n;i++);(3)sum+=ad[i].scom[1]改为sum+=羽[i].score[0];【考点分析】主要考察桩时变量初始化,c语言里临时变量不初始化,它的默认值是不确定的一个值。再者,考察C语言约定数组的下标是从0开始的。【解题思路】(1)doubleⅫ改为double8am=0.0;累加求和需要初始化累加结果的临时变量。(2)for(i_0;i<2;i++)改为for(i_0;i<n;i++);共有11个学生的成绩,需要累加所有学生第一门课的成绩。(3)sum+.std[i].BCOl.e[1]改为8am+=8td[i].score[0];第1门课程的平均分,c语言的下标是从0开始的。

  • 第2题:

    程序定义了NxN的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。

    例如:a数组中的值为:

    则返回主程序后s的值应为:3.375。

    注意:部分源程序存在文件PROGl.C文件中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是求出数组周边元素的平均值。其中周边元素是指第一行的元素的行下标为0,或者第n行的元素行下标为n-1,或者第一列元素的元素列下标为0,或者第n列的元素的列下标为n-1。

  • 第3题:

    给定程序的功能是计算score中m个人的平均成绩a-ver,将低于aver的成绩放在below中,通过函数名返回人数。 例如,当score={10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40}。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 试题程序:


    正确答案:

    【解析】fun()函数的功能是返回低于平均成绩的人数,通过for循环遍历数组score,求和存入变量aver,然后计算出平均值。第二个循环将低于平均成绩的数据赋值数组b,因此第【1】处填“score[i]”或“*(score+i)”;在主函数中调用函数fun()时,最后一个参数应填入数组名below,即将低分考生数据存入数组below中,然后语句“printf(″\nBelowtheaveragescoreare:%d″n);”输出低分考生个数,n值即fun()函数返回值也就是低分考生的人数值。最后,利用循环输出below中的结果。

  • 第4题:

    m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在叩所指的数组中。

    例如,当score数组中的数据为24,35,88,76,90,54, 59,66,96时,函数返回的人数应该是5,up中的数据应为88, 76, 90, 66, 96。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <conio.h>

    include <stdio.h>

    include <string.h>

    int fun(int score[],int m,int up[])

    {

    }

    main()

    {

    int i,n,up[9];

    int score[9]={24,35,88,76,90,54,

    59,66,96};

    clrscr();

    n=fun(score,9,up);

    printf("\nup to the average score are:");

    for(i=0;i<n;i++)

    printf("%d",up[i]);

    }


    正确答案:int fun(int score[]int m int up[]) { int ij=0; float av=0.0 for(i=0;im;i++) av=av+score[i]/m; /*求平均值*/ for(i=0;im;i++) if(score[i]>av) /*如果分数高于平均分则将此分数放入up数组中*/ up[j++]=score[i]; return j; /*返回高于平均分的人数*/ }
    int fun(int score[],int m, int up[]) { int i,j=0; float av=0.0 for(i=0;im;i++) av=av+score[i]/m; /*求平均值*/ for(i=0;im;i++) if(score[i]>av) /*如果分数高于平均分,则将此分数放入up数组中*/ up[j++]=score[i]; return j; /*返回高于平均分的人数*/ } 解析:该题第1个循环的作用是求出平均分av,第2个循环的作用是找出高于平均分的成绩并存入up数组中。

  • 第5题:

    请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

    例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。

    删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。

    注意:部分源程序在文件PROGl.C中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是删去一维数组中所有相同的数,使之只剩一个。解题思路是,首先在函数中定义临时变量指向每一个元素,然后在循环过程中将临时值和其他元素进行比较,如果相同,那么跳过相同字符。