求大佬指出错误👀👀

 

最大值函数中,对max的值修改不能用 max = p+i,必须用 *max = *(p+i)

求平均值函数中的aver变量未使用,去掉

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void zuidazhi(int *p, int n, int *max)
{
	int i;
	for (i = 0; i < n; i++)
	{
		if (i == 0)
			*max = p[0];
		else if (*max < *(p + i))
			*max = *(p + i);
	}
}

void zuixiaozhi(int *p, int n, int *min)
{
	int i;
	for (i = 0; i < n; i++)
	{
		if (i == 0)
			*min = p[0];
		else if (*min > *(p + i))
			*min = *(p + i);
	}
}

float pingjun(int *p, int n)
{
	float sum = 0;
	int i;
	for (i = 0; i < n; i++)
	{
		sum += p[i];
	}
	return sum / n;
}

void main()
{
	srand(time(NULL));
	int a[10], j, max, min;
	float c;
	for (j = 0; j < 10; j++)
		a[j] = 30 + rand() % 71;
	for (j = 0; j < 10; j++)
		printf("%d ", a[j]);
	printf("\n");
	zuidazhi(a, 10, &max);
	zuixiaozhi(a, 10, &min);
	c = pingjun(a, 10);
	printf("最大值是: %d\n", max);
	printf("最小值是: %d\n", min);
	printf("平均值是: %.1f\n", c);
}

 

报错信息是什么

你调用zuidazhi()这个函数,需要带三个参数,你把代码改成:zuidazhi(a,10,max)试一下。

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

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

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