试题与答案

下列给定程序中,函数fun()的功能是:给定n个实数,输出平均值,并统计平均值以上(

题型:填空题

题目:

下列给定程序中,函数fun()的功能是:给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如, n=8时,输入193.199,195.673,195.757,196.051,196.092, 196.596,196.579,196.763,所得平均值为195.838745,在平均值以上的实数个数应为5。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
int fun(float x[], int n)
/***************found*******************/
iht j, c=0;float xa=0.0;
for (j=0; j<n;.j++)
xa+=x[j]/n;
printf("ave=%f\n",xa);
for (j=0; j<n;j++)
if(x[j]>=xa)
c++;
returnc;

main()
float x[l00]= 193.199,195.673,195.757,
196.051,196.092,196.596,
196.579,196.763;
clrscr ();
printf("%d\n",fun (x,8));

答案:

参考答案:错误:缺{ 正确:加{

解析: 本题我们可以拆分成两个简单的c语言试题:
(1)求出n个数的平均值。
(2)将大于平均值的数字个数计算出来。可利用循环和条件选择语句,对x数组进行遍历,若某个值大于平均成绩,则将该元素累加计入c中。我们先来摘清楚一个简单的求10个整数平均值的例子。
#include "stdio.h"
void main()
{
int i,a[10],s=0;
float aver=0.0;
for (i=0;i<10;i++)
{
scanf("%d",&a[i]);
s=s+i;
}
aver=s/10.0;
printf ("这十整数中的平均值为:%f",aver);
}
其实,n个整数求和也就是10个整数的拓展,没什么难的!

试题推荐
微信公众账号搜索答案