思路:使用递归主要有两点需要注意,一个是递归计算公式,二是递归跳出条件。
十多年专注成都网站制作,成都定制网站,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都定制网站,高端网页制作,对成都水处理设备等多个领域,拥有丰富设计经验。
参考代码:
#includestdio.h
int fun(int n){
if(n==0) return 0;//递归跳出条件
return n+fun(n-1);//递归计算公式
}
int main()
{
int n;
scanf("%d",n);
printf("%d\n",fun(n));
return 0;
}
/*
运行结果:
3
6
*/
#include iostream
#include iomanip
using namespace std;
int add(int n);
int main()
{
int i=100;
int b;
b=add(100);
coutbendl;
}
int add(int n)
{
if(n==1)
return 1;
else
return n+add(n-1);
},利用add()函数进行递归,这是个从1加到n的递归函数
#includestdio.h
int s=0;
main()
{
int sum(int n);
int n;
printf("please input n:"); /*输入要输数的个数*/
scanf("%d",n);
sum(n);
printf("sum = %d\n",s);
}
int sum(int n)
{
int m;
if(n==0)return 0;
else
{
printf("please input a num:");
scanf("%d",m);
s+=m;
return sum(n-1);
}
}
C语言:递归求和求f(n)的值可以采用以下的代码:
#includestdio.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语言函数