使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是给定n个实数,输出平均值,并统计大于等于平均值的实数个数。例如,13=8时,输入193. 199、195.67

admin2023-02-27  2

问题 使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是给定n个实数,输出平均值,并统计大于等于平均值的实数个数。例如,13=8时,输入193.
199、195.673、195.757、196.051、196.092、196.596、
196.579、196.763,所得平均值为195.83875,在平均值以上的实数个数应为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;j<n,j++)
8  xa+=x[j]/n;
9  printf("ave=%f\n",xa);
10  for(j=0; j<n;j++)
11  /*********found*********/
12    if(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)本题中的第1个错误。在c语言中,"||"应成对出现,fun()函数体是复合语句,所以程序中的语句"int j,c=0;float xa=0.0;"应改为"{int j,c=0;float xa=0.0;"。
    (2)本题中的第2个错误。在c语言中,判断大于等于的运算符应为">=",所以程序中的语句"if(x[j]=>xa)"应改为"if(x[jj)=xa)"。  
转载请注明原文地址:https://kaotiyun.com/show/nJ0D777K
0

相关试题推荐
最新回复(0)