一维数组int score[10]存放了10个学生的成绩,用函数统计出平均分并返回其值.

一维数组int score[10]存放了10个学生的成绩,用函数统计出平均分并返回其值,同时计算在平均分以上(含)的人数、最高分、最低分。10人的分数在主函数中输入,函数中按要求统计出结果,函数返回平均分,人数、最高分、最低分用全局变量处理,所有结果在主函数中输出。数组用指针处理。函数定义: float ave_score(int *array, int n)           {  ……                             ……} 指针array指向数组的首地址,n是学生人数。函数内部对数组元素的访问用指针处理。

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
int g_max = 0;
int g_min = 0;
int g_nmb = 0;

 float ave_score(int *array, int n)
 {
	 float sum = 0.0;
	 
	 for (int i = 0; i < n; i++)
		 sum += *(array+i);
	 float avg = sum / n;

	 g_max = array[0];
	 g_min = array[0];
	for (int i = 0; i < n; i++)
	{
		if (*(array+i) > avg)
		{
			g_nmb++;
		}
		if (*(array+i) > g_max)
		{
			g_max = *(array+i);
		}
		if (*(array+i) < g_min)
		{
			g_min= *(array+i);
		}
	}
	return avg;

 };

 int main()
 {
	 int score[10] = {1,2,3,4,5,6,7,8,9,10};
	 float f = ave_score(score,10);

	 printf("avg=%.2f;大于avg的数量=%d; max=%d,min=%d\n",f,g_nmb,g_max,g_min);
	 getchar();
	 getchar();
	 return 0;
 }

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632