modi9.c

来自「c题库」· C语言 代码 · 共 43 行

C
43
字号
/*
下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如,若输入8名学生的成绩:
    80.5  60  72  90.5  98  51.5  88  64
则低于平均分的学生人数为4(平均分为:75.5625)。
请改正程序中的错误,使它能统计出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
*/

#include <conio.h>
#include <stdio.h>
#define N 20
int fun (float *s, int n,float *aver)
{
	float ave,t=0.0;
	int count=0,k,i;
	for(k=0;k<n;k++)
/**********found************/
	t=s[k];
	ave=t/n;
	for(i=0;i<n;i++)
	if(s[i]<ave)count++;
/**********found************/
	*aver=&ave;
	return count;
}

main()
{
	float s[30] ,aver;
	int m, i ;
	clrscr();
	printf("\nPlease enter m: ");scanf("%d",&m);
	printf("\nPlease enter %d mark :\n",m);
	for(i=0;i<m;i++)scanf("%f",s+i);
	printf("\nThe number of students :%d\n",fun(s,m,&aver));
	printf("Ave=%f\n",aver);
}

/*
答案:
 t=s[k]; 改为 t+=s[k];
 *aver=&ave;改为*aver=ave;   
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?