递归函数c语言1到100 递归法c语言

编写一个递归函数计算从1加到100的和intfun(intx)
{
if(x1)
returnx+fun(x-1);
else
returnx;
}
main()
{
intsum;
sum=fun(100);
printf("sum=%d\n",sum);
}
扩展资料:
编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数 。递归函数不能定义为内联函数 。
在数学上,关于递归函数的定义如下:对于某一函数f(x),其定义域是集合A,那么若对于A集合中的某一个值X0,其函数值f(x0)由f(f(x0))决定 , 那么就称f(x)为递归函数 。
递归函数是一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的 。用递归过程定义的函数,称为递归函数 , 例如连加、连乘及阶乘等 。凡是递归的函数,都是可计算的,即能行的。
古典递归函数,是一种定义在自然数集合上的函数 , 它的未知值往往要通过有限次运算回归到已知值来求出,故称为“递归” 。它是古典递归函数论的研究对象 。
参考资料:递归函数 百度百科
C语言中 用递归怎么求1+2+3+4+...+100是递归,
没有递推一说,
只有递归和循环两种,
或者直接计算,即知道其数学公式,
#include
stdio.h
#include
stdlib.h
int
sum(int
n)
{
if
(n
==
1)
return
n;
else
return
sum(n
-
1)
+
n;
}
int
sum1(int
n)
{
return
n
*
(n
+
1)
/
2;
}
int
sum2(int
n)
{
int
sum
=
0;
for
(int
i
=
1;
i
=
n
;
++i)
{
sum
+=
i;
}
return
sum;
}
int
main()
{
const
int
n
=
100;
printf("%d\n",
sum(n));
printf("%d\n",
sum1(n));
printf("%d\n",
sum2(n));
return
0;
}
C语言递归函数实现求1至100间所有偶数的和#include stdio.h
int getsum(int num);
int main(void) {
printf("The sum is: %d\n", getsum(100));
return 0;
}
int getsum(int num) {
if (num = 0) return 0;
else if (num % 2 == 0) return num + getsum(num - 2);
else return getsum(num - 1);
}
这个题目太有意思了 , 明明不用递归更好看……
1-100用c语言的递归法求和1、首先本题递归函数c语言1到100的思路已经给出递归函数c语言1到100 , 要求用递归算法 。
2、程序源代码如下:
#includestdio.h
int sum(int n);
int main()
{
int i=100;
printf("1~%d递归函数c语言1到100的和为:\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、程序递归函数c语言1到100的输出结果如下:
1-100怎么用c语言的递归法求和?#includestdio.h
int sum(int n)
{
if (n==1) return 1;
else return n+sum(n-1);
}
int main(){
int i=100;
printf("%d\n",sum(100));
return 0;
}
用c语言求1到100的和要求不用循环 不用if不用switch不用三目提供办法之一 。
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#define SUM(x) (x+(x+1)+(x+2)+(x+3)+(x+4)+(x+5)+(x+6)+(x+7)+(x+8)+(x+9))
int main(void){
int y=100;
y+=SUM(0)+SUM(10)+SUM(20)+SUM(30)+SUM(40)+SUM(50)+SUM(60)+SUM(70)+SUM(80)+SUM(90);
printf("1+2+3+...+100 = %d\n",y);

推荐阅读