已知A【n】为整数数组,编写一个递归算法求其中n个元素的平均值

如题所述

#include<stdio.h>
int a[100],n;
float digui(int i){
    if(i==-1)return 0;
    return 1.0/n*a[i]+digui(n-1);
}
int main(){
   int ans,i;
   scanf("%d",&n);
   for(i=0;i<n;i++)scanf("%d",&a[i]);
   printf("%f",digui(n-1));
   return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-30
#include <stdio.h>
#define N 10
double average(int a[ ], int n)
{
if (n == 1)
return a[0];
else
return ((n - 1) * average(a, n - 1) + a[n - 1]) / n;
}
int main( )
{
int a[N] = {73, 39, 43, 71, 11, 7, 69, 77, 100, 96};
double aver;
aver = average(a, N);
printf("%lf\n", aver);
}

已知A【n】为整数数组,编写一个递归算法求其中n个元素的平均值
include<stdio.h>int a[100],n;float digui(int i){ if(i==-1)return 0; return 1.0\/n*a[i]+digui(n-1);}int main(){ int ans,i; scanf("%d",&n); for(i=0;i<n;i++)scanf("%d",&a[i]); printf("%f",digui(n-1)); return 0;} ...

求数组中最大值,用递归函数实现
} \/\/每递归一次 数组a就往后偏移一位 也就是剔除前一个较小的值 \/\/并且剩余的数组个数也要相应的减少一个 return larger(a+1, cnt-1);}int main (int argc, char *argv[]){ int a[] = {-2, 0, 99, -3, -55, 7}; printf("max:%d\\n", larger(a, sizeof(...

已知A[n]为整数数组,试写出递归算法,使之能:求数组A中最大整数;求n个...
平均值也能递归:Avg(n) = ( Avg(n-1) * (n-1) + A[n-1] ) \/ n

已知整形数组,用递归的算法实现下列计算: 求数组整数的最大值,求数组...
else return a[n]>m(a,n-1)?a[n]:m(a,n-1);}

c语言输入一个整数,用递归算法将整数倒序输出.
return;} order_print(n/10);printf("%5d",n%10);} void reverse_print(intn){ if(n<10){ printf("%-5d",n);return;} printf("%-5d",n%10);reverse_print(n/10);} int main(void){ int n;printf("Inputainteger:");scanf("%...

递归算法解决经典例题
递归算法在解决树形结构、图形结构或其他嵌套结构问题时特别有效。例如,在二叉树查找值的问题中,递归算法可以实现高效解决方案。斐波那契数列是一个经典的数学问题,其每个数都是前两个数之和。递归算法可以通过定义通项公式F(n) = F(n-1) + F(n-2)来实现,其中F(0)=0,F(1)=1。通过递归...

4、设计一个函数,当给定一个整数后,能得到该数的补码(应考虑该整数是正...
1、下面是一个计算e的近似值(使误差小于给定的δ)的程序。main(){double e=1.0,x=1.0,y,detax;int i=1;printf(“\\n please input enter a error:”);scanf(“%lf”,&detax);y=1\/x;while(y>=detax){ x=x*I;y=1\/x;e=e+y;++i;}printf(“%12.10lf”,e);}[分析讨论](1)、阅读上面的...

用递归算法求一维整型数组的最大值。求代码,求算法讲解
if (n<=1)return(array[0]); \/\/ 就一个数,最大值就是自已 int t=max(array+1,n-1); \/\/ 求后面 n-1个数的最大值 if (t>array[0]) \/\/ t 比第一个大,返回最大 t return(t);else return(array[0]); \/\/ t小,返回array[0];} ...

编写程序求:给出一个整数n,一个数组{a1,a2,...,an},将n表示成数组中若...
chose[c] = array[i]; decompose( array , max , i+1 , subn-array[i] , chose , c+1 ); chose[c] = -1; }} 追问 我想知道的是输入一个数据n,数组也很大,用递归也行吗? 追答 那就比较慢了。这算法是n!的,我在给你一个思路吧,对于这种的更快。先对数组排序,然后再使用回溯法,求解的过...

C++编写程序,输入数n,输出n个字符的全排列,通过函数递归实现。
include <string>#include <vector>#include <iostream>using namespace std;vector<string> do_permutation(string str){ vector<string> res; if (str.size() > 1){ for (size_t i = 0; i != str.size(); ++i){ string sub_str = str.substr(0, i) + str.substr(i...

相似回答