C语言用递归方式求n个数的和

如题所述

#include <iostream>
#include <iomanip>
using namespace std;
int add(int n);
int main()
{
int i=100;
int b;
b=add(100);
cout<<b<<endl;
}
int add(int n)
{
if(n==1)
return 1;
else
return n+add(n-1);
},利用add()函数进行递归,这是个从1加到n的递归函数
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-17
#include<stdio.h>
#define N 10
double a[N];
double add(double b,int i)
{
if(i)
return b+add(a[i-1],i-1);
return a[0];
}
void main()
{
int i;
printf("enter n numbers:\n");
for(i=0;i<N;i++)
scanf("%lf",&a[i]);
printf("The result:%lf\n",add(a[N-1],N-1));
}

改变N的值既可以实现任意个数的相加。
第2个回答  2019-05-25
#include
<iostream>
#include
<iomanip>
using
namespace
std;
int
add(int
n);
int
main()
{
int
i=100;
int
b;
b=add(100);
cout<<b<<endl;
}
int
add(int
n)
{
if(n==1)
return
1;
else
return
n+add(n-1);
},利用add()函数进行递归,这是个从1加到n的递归函数
第3个回答  2019-04-06
#include
<iostream>
#include
<iomanip>
using
namespace
std;
int
add(int
n);
int
main()
{
int
i=100;
int
b;
b=add(100);
cout<<b<<endl;
}
int
add(int
n)
{
if(n==1)
return
1;
else
return
n+add(n-1);
},利用add()函数进行递归,这是个从1加到n的递归函数
第4个回答  2011-11-17
累加:#include <stdio.h>
void main ()
{
int s=0,i;
for(i=1;i<=100;i++)
s+=i;
printf("%d\n",s);
}

那位高手用C语言编到程序,递归函数求和,输入N个数出其和求
s+=m;return sum(n-1);} }

1-100用c语言的递归法求和
printf("1~%d的和为:\\n",i);printf("%d\\n",sum(100));return 0;} \/\/下面是一个递归求和函数 int sum(int n){ if (n==1)return 1;else return n+sum(n-1);} 3、程序的输出结果如下:

递归1到n 求和 C语言
sum=sum+i;printf("%d",sum);} 这个是简单的求1~100的和的小程序,如果你需要N为更大的数那么把程序中的100换成你需要的数就可以,希望能帮你的忙!

用C语言编写递归函数。对于给定的n,输出其和等于n的所有不增的和式
n=ns;printf("%d=%d\\n",n,n);\/\/输出n=n的情况 比如7=7 \/\/核心思想n=(n-1)+1再把n-1看做n进行递归直到n=1 while(n){ m=n\/2;\/\/取n的一半 for(i=1;i<=m;i++)\/\/对于任意整数都可以看做n\/2种两个正整数的和 { k=n-i;printf("%d=%d+%d",ns,k,i);\/\/输出n=a...

C语言编程:求1到1000的奇数和
求1到1000的奇数和的C语言编程方法有以下几种:使用while循环,定义一个变量n从1开始递增,每次判断n是否为奇数,如果是则累加到sum变量中,直到n大于1000为止。使用for循环,定义一个变量n从1开始递增2,每次将n累加到sum变量中,直到n大于1000为止。使用递归函数,定义一个函数odd_sum(n),返回1到n...

递归 求和
这里是用C语言给你写的,我假设你的N=30:main(){ int n,t,number=30;float a=2,b=1,sum=0;for(n=1;n<=number;n++){ sum+=a\/b;t=a;a=a+b;b=t;} printf("sum is %9.6f\\n",sum);}

C语言编程问题!!急用。。。 用递归算法编写,求1到n的累加和,在主函数中...
int n){ return (n == 1)? 1 : n * func(n-1);} int main(void){ unsigned int n = 0, rval = 0;printf("Input data:");scanf("%u", &n);if (n == 0){ printf("Input error.\\n");return -1;} rval = func(n);printf("%u!=%u\\n", n, rval);return 0;} ...

c语言用递归法求Y=x+x²\/2!+x³\/3!+……到第n项,n和x的值由键盘输...
这是一个动态规划的题,首先,f(n)代表求1到第n项的和,那么递推公式为:f(n) = f(n-1) + x的n次方\/n的阶乘;简化 = f(n-1) + (f(n-1) - f(n-2))*x\/n;故有以下代码(动态规划的递归解法):\/\/由于这中间涉及除法,我选用了double,楼主视情况修改吧 double f[SIZE] = {0...

c语言 用递归函数实现1+2+…+9999的求和
include "stdio.h"int add1_9999(int n){return n>1 ? n+add1_9999(n-1) : 1;}int main(int argv,char *argc[]){printf("The result is %d\\n",add1_9999(9999));return 0; }运行结果:

c语言 写一个add函数,可以求数组各个元素的和 用 递归函数来写
i[] = {11, 22, 3, 44, 05};int sum2 = 0;for(int j = 0; j < sizeof(i) \/ sizeof(i[0]); j++){sum2 = sum2 + i[j];}printf("\\nfor求和为%d\\n\\n", sum2);int sum = add(i, sizeof(i) \/ sizeof(i[0]));printf("\\n递归求和为%d\\n\\n", sum);} ...

相似回答