递归求具有n个元素的整型数组R的平均值

递归求具有n个元素的整型数组R的平均值

今天做题的时候遇到这个不会的题,虽然题很简单单还是太菜了,记录下来,这还是问了一个小学妹之后才懂了,自卑ing… …

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
int get_agv(int R[], int n)
{
	if(n==1)
		return R[0];
	else
		return (R[n-1] + get_agv(R, n-1)*(n-1))/n;	   // n-1  用来约分母(约前面一个数的分母), 把分母写在横线的下面比较容易看出来
}


void main()
{
	int R[5] = {22,44,66,88,10};
	printf("平均值: %d\n", get_agv(R, 5));
}

最后一句:return (R[n-1] + get_agv(R, n-1)*(n-1))/n;中的n-1是用来约分母的(约前面一个数的分母),比如下面这样更直观一点

示意图

0%