下列给定程序中,函数fun的功能是:给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如,n=8时,输入193.199、195.673、195.757、196.051、196.092、196.596、196.579、196.763、所得平

admin2016-12-06  20

问题 下列给定程序中,函数fun的功能是:给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如,n=8时,输入193.199、195.673、195.757、196.051、196.092、196.596、196.579、196.763、所得平均值为195.838745,在平均值以上的实数个数应为5。
    请改正程序中的错误,使其能得出正确的结果。
    注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
1  #include<stdlib.h>
2  #include<conio.h>
3   #include<stdio.h>
4   int fun(float x[],int n)
5   /*********found*********/
6    int j,c=0;float xa=0.0;
7   for(j=0;j8    xa+=x[j]/n;
9    printf(’’ave=%f\n’’,xa);
10    for(j=0;j11    /*********found*********/
12    i f(x [j] = >xa)
13    c++;
14    return c;
15    }
16   main()
17  {float x[100]={193.199,195.673 、195.757、196.051 、196.092、196.596,196.579,196.763};
18    system(’’cls’’);
19   printf(’’%d\n’’,fun(x,8));
20  }

选项

答案(1){int j,c=0;float xa=0.0; (2)if(x[j]>=xa)

解析 (1)本题着重考查考生对C语言基本语法以及比较运算符的掌握情况。
    (2)本题中的第一个错误:在C语言中,{}应成对出现,所以程序中的语句”int j,c=0;float xa=0.0;’’应改为’’{int j,c=0;float xa=0.0;’’或相同作用的语句;
    本题中的第二个错误:在C语言中,判断大于或等于的运算符应为>=,所以程序中的语句’’if(x[j]=>xa)’’应改为’’if(x[j]>=xa)’’或相同作用的语句。
转载请注明原文地址:https://kaotiyun.com/show/yVDp777K
0

最新回复(0)