使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。程序中将m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所

admin2023-02-27  31

问题 使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。程序中将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 #include<conio.h>
2 #include<stdio.h>
3 #include<string.h>
4 #include<stdlib.h>
5 int fun(int score[],int m,int below[])
6 {
7
8 }
9 void main()
10 {
11  FILE*wf:
12  int i,n,below[9];
13  int score[9]={10,20,30,40,
50,60,70,80,90};
14  system("CLS");
15  n=fun(score,9,below);
16  printf("\nBelow the average score are:");
17  for(i=0;i<n;i++)
18  printf("%d",below);
19  /*********found*********/
20 wf=fopen("out.dat","w");
21 for(i=0;i<n;i++)
22  fprintf(wf,"%d",below);
23  fclose(wf);
24  /*********found*********/
25 }

选项

答案 1 int fun(int score[],int m,int below[]) 2 { 3 int i,j=0; 4 float av=0.0; 5 for(i=0;i<m;i++) 6 av=av+score[i]/m;/*求平均值*/ 7 for(i=0;i<m;i++) 8 if(score[i]<av)/*如果分数低于平均分,则将此分数放入below数组中*/ 9 below[j++]=score[i]; 10 return j;/*返回低于平均分的人数*/ 11 }

解析 要计算低于平均分的人数,首先应该求出数组score中各元素的平均值。然后通过for循环语句和if条件语句找出低于平均值的分数。该题第1个循环的作用是求出平均值av,第2个循环的作用是找出数组score中低于平均值的成绩记录并存入below数组中。
转载请注明原文地址:https://kaotiyun.com/show/FD0D777K
0

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