思路:先用递归求出一个数的阶乘,接着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语言函数