给定程序MODll.c中函数fun的功能是;由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。例如,n=8时,输入:193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763所得平均值为:195.838745,在平均值以上的实数个数应为:5请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

题目

给定程序MODll.c中函数fun的功能是;由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。

例如,n=8时,输入:193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763

所得平均值为:195.838745,在平均值以上的实数个数应为:5

请改正程序中的错误,使程序能输出正确的结果。

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


相似考题
更多“ 给定程序MODll.c中函数fun的功能是;由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。例如,n=8时,输入:193.199,195.673,195.757,196.051,196.”相关问题
  • 第1题:

    给定程序MODll.C中函数fun的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示规律的数据,由main函数输出。

    例如,若输入2 |若输入4

    则输出: |则输出:

    1 2 |1 2 3 4

    2 4 |2 4 6 8

    |3 6 9 12

    |4 8 12 16

    请改正程序函数中的错误,使它能得出正确的结果。

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


    正确答案:(1)void fun(int a[][M] int m)(2)a[j][k]=(k+1)*(j+1);
    (1)void fun(int a[][M], int m)(2)a[j][k]=(k+1)*(j+1); 解析:本题中函数的功能是根据形参m的值(2≤m≤9),在m行m列的二维数组中存放有规律的数据,规律就是,i和j代表二维数组的行和列,则a啪[k]=(k+1)*(j+1)。

  • 第2题:

    给定程序中,函数fun的功能是:计算形参X所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

    例如,有l0个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。

    移动后的输出为:46、32、40A5、48、30、6、17、15、26。

    请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

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

    不得增行或删行,也不得更改程序的结构!

    试题程序:


    正确答案:
    (1)sdN(2)j++(3)一1【解题思路】填空l:由原程序可知,av代表的是平均值,而平均值的求法是所有数的总和除以数的个数,因而本空应该填写s/N。填空2:y数组代表暂时存放X数组,if(X[i]>av)表达的是当x数组中的数大于平均值时,应该把这些大于平均值的数放在y数组的前半部分,因而此空应该填y[j++]。填空3:此空表明当x[i]不等于什么时,X[i]中的数要赋值给Y数组,由题意可知此空只能填写一1。

  • 第3题:

    人工预先创建一个文本文件data.txt,其内容为若干实数,数据之间以空白字符分隔。编程从该文件中读入这些实数,统计实数个数并求出这些实数的平均值,在程序中创建并产生一个文本文件result.txt,内容为 data.txt 中的全体实数,每行5个数,最后一行输出实数个数以及平均值。


    import randomf=open('data.txt','w+')for i in range(100): a=random.randint(1,100) f.writelines(str(a)+'\n')f.seek(0)s=f.readlines()f.close()for i in range(len(s)): s[i]=eval(s[i].strip('\n'))print(s)

  • 第4题:

    已知在文件in.dat中存有N个实数(N<200),函数ReadDat是读取这N个实数并存入数组xx中。请编制函数CalValue,其功能要求:1.求出这N个实数的平均值aver;2.分别求出这N个实数的整数部分值之和sumint以及小数部分值之和sumdec,最后调用函数WriteDat把所求的结果输出到文件out.dat中。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。


    正确答案:
    【审题关键句】求实数的平均值aver;求实数的整数部分之和及小数部分之和。
    【解题思路】
    ①定义整型循环变量i和长整型变量num。
    ②在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于N时,结束循环。在循环体中,把数组元素 xx[i]的数据类型通过强制数据类型转换成长整型数据所得的整数赋给变量mum,再把mum的值累加到变量sumint,用数组元素xx[i]的值减去num的值就得到xx[i]的小数部分,把这个值累加到变量sumdec。把数组元素xx[i]累加到变量aver。 ⑨退出循环后,用变量aver的值除N就得到了这N个实数的平均值,赋给变量aver。
    【参考答案】

  • 第5题:

    输入20个实数存放在一维数组中,输出它们的平均值以及高于平均值的数的个数。 输入格式: scanf("%f",&a[i]); 输出格式: printf("The average=%fn",ave); printf("The num is %dn",n); 输入样例: 20 30 50 30 20 输出样例: The average=30.000000 The num is 1


    a[i]=0;0=a[i]i>length_of(a)