c语言用递归法求1!+2!+3!+4!+5!+6!

Python015

c语言用递归法求1!+2!+3!+4!+5!+6!,第1张

思路:先用递归求出一个数的阶乘,接着for循环累加求和。

参考代码:

#include<stdio.h>

int fun(int n){

if(n==1) return 1//递归结束条件 

return n*fun(n-1)//递归式 

int main()

{

int sum=0,i

for(i=1i<=6i++)//for循环累加求和 

sum+=fun(i)

printf("%d\n",sum) 

return 0

}

/*

运行结果:

873

*/

C语言:递归求和求f(n)的值可以采用以下的代码:

#include<stdio.h>

int sum(int n)

{

if(!n)

return 0

else

return n + sum(n - 1)

}

int main()

{

int n

scanf("%d",&n)

printf("%d\n",sum(n))

return 0

}

扩展资料:

数学函数

char *ecvt(double value,int ndigit,int *decpt,int *sign),将浮点数value转换成字符串并返回该字符串

char *fcvt(double value,int ndigit,int *decpt,int *sign),将浮点数value转换成字符串并返回该字符串

char *gcvt(double value,int ndigit,char *buf),将数value转换成字符串并存于buf中,并返回buf的指针

char *ultoa(unsigned long value,char *string,int radix),将无符号整型数value转换成字符串并返回该字符串,radix为转换时

double _matherr(_mexcep why,char *fun,double *arg1p,double *arg2p,double retval),用户修改数学错误返回信息函数(没有必要使用)

unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态

void _fpreset() 重新初使化浮点数学程序包

unsigned int _status87() 返回浮点状态字

参考资料来源:百度百科-C语言函数