c语言递归函数求平方和 C语言递归函数求和

C语言——递归求和

#include

创新互联-专业网站定制、快速模板网站建设、高性价比邵武网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式邵武网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖邵武地区。费用合理售后完善,10多年实体公司更值得信赖。

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语言,用递归求数列前N项的平方和

//*主函数*////*主函数*////*主函数*//

#includestdio.h

void main()

{

int n;int sum_(int n);long sum=0;

printf("please enter a number=");

scanf("%d",n);

sum=sum_(n);

printf("The square sum is %d\n",sum);

}

//*递归子函数*////*递归子函数*//

int sum_(int n)

{

int a[100];int i;int s=0;

if(n==1||n==2)

return 0;

else if(n==3)return 1;

else

{ a[1]=0;a[2]=0;a[3]=1;

for(i=4;i=n;i++)

{

a[i]=a[i-1]+a[i-2]+a[i-3];

s=sum_(i-1)+a[i]*a[i];

}

return(s);

}

}

这个子函数花了我不少时间,终于修改完成了。该程序在TC中运行正常,符合楼主的要求。

分别取n值试运行得到的结果如下:n=5时sum=6;n=7时sum=71;n=10时sum=2572;n=12时sum=31514 注意:当n=13时,由于整型最大数才65535,产生了溢出得到sum为负值。如果想扩展其数值大小,可定义变量为long型。

如果在你的C编译环境中无法运行,请认真调试即可。

c语言用递归法求y=x+x2/2!+x3/3!…到第n项,n和x的值由键盘输入

#include

#include

float fun(int,float,float *ans);

int main()

{

int n;

float x,sum=0;

float *ans;

printf("请输入N:\n");

scanf("%d",n);

printf("请输入X(float):\n");

scanf("%f",x);

ans=(float *)malloc((n+1)*sizeof(float));

fun(n,x,ans);

for(int i=1;i!=(n+1);i++)

{

sum+=*(ans+i);

}

printf("求得和为:%f\n",sum);

free(ans);

}

/*

*该函数将求和多项式拆开,观察每一项,发现第(n+1)项等于

*第n项乘以(x/(n+1)),因此可递归求得求和多项式 中的每项的值,然后

*根据输入N的值开辟N+1数组,数组用于存放在递归过程中产生的前面项的值,这样

*通过一次递归,便求得所有项的值,然后根据数组中的值进行求和即可。

*/

float fun(int n,float x,float *ans)

{

if(n==1)

{

*(ans+n)=x;

return x;

}else{

*(ans+n)=(x/(n))*fun(n-1,x,ans);

return *(ans+n);

}

}

怎么用c语言编写n位数的平方和 要用递归算法 谢谢

int func(int val) {

return val0? ((val%10)*(val%10)+func(val/10)) : 0 ;

}

从低位开始求...递归到高位...当val/10==0的时候递归结束..

写的略简洁..

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语言递归法 二十个数的平方和

以整数为例。把20个数放在数组里,然后调用一个自定义递归函数求结果。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

int squ_add(int *p,int n){//递归求n个数的平方和

if(--n==0)

return p[n]*p[n];

return p[n]*p[n]+squ_add(p,n);

}

int main(void){

int a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};

printf("The result is %d\n",squ_add(a,20));

return 0;

}


当前文章:c语言递归函数求平方和 C语言递归函数求和
网页URL:http://azwzsj.com/article/hjjdeh.html