c语言递归函数数组求和 c语言递归函数求组合数

C语言:递归求和

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语言函数

C语言——递归求和

#include stdio.h

#include stdlib.h

int b=0;

int sum(int *a,int n)

{

int temp;

if(0==n)

return 0;

else

{

temp=sum(a,n-1);

b=b+a[n-1];

}

return b;

}

int main (void)

{

int i;

int a[6]={0};

printf("请输入一组数据:");

for(i=0;i=5;i++)

{

scanf("%d",a[i]);

}

printf("\n\n");

printf("所有元素之和num=%d",sum(a,6));

printf("\n\n");

system("PAUSE");

return 0;

}

用递归函数求数组的和(c语言)

#include stdio.h

int add(int *a, int n)

{

if(n==1) return a[0];

return a[0]+add(a+1, n-1);

}

int main()

{

int a[5]={1,3,5,7,9};

printf("%d\n", add(a,5));

return 0;

}

递归计算数组中每个元素的和,要c语言编写

#include stdio.h

int recr(int n) // 递归函数

{

if (n = 1) return n; // 递归退出条件

return n + recr(n - 1);

}

int main()

{

int n = 0;

printf(" n = ");

scanf("%d", n);

printf("sum = %d\n", recr(n));

return 0;

}

执行结果:

n = 100

sum = 5050

不过说实话,这种问题真心不适合用递归来解决,反而会干扰初学者对递归和循环的理解


网站题目:c语言递归函数数组求和 c语言递归函数求组合数
当前网址:http://ybzwz.com/article/dodsoig.html