c语言递归函数编程习题

用递归法求:y=x/1!-x*x*x/3!+x*x*x*x*x/5-(七个x相剩)/7!+(八个x相剰)/8!.....到第n项,n和x的值由键盘输入。请精通c语言的朋友... 用递归法求:
y=x/1!-x*x*x/3!+x*x*x*x*x/5-(七个x相剩)/7!+(八个x相剰)/8!.....
到第n项,n和x的值由键盘输入。
请精通c语言的朋友帮我编一下。我自己是初学者想了很久都没有想出来。小弟在此感激不尽!!!
展开
 我来答
炫耀七光
2008-05-01
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
楼主,首先我想说一下你题目可能不小心打错了,我猜应该是求
(x/1!)+(x*x*x/3!)+(5个x相乘/5!)+……+((2n-1)个X相乘/(2*n-1)!)
当N为某值时上式为多少吧!

我帮你编写的代码如下(很用心编写的哦):

#include "stdio.h"
#include "math.h"

int power(int n)
{
if(n!=0) return n*power(n-1);
else return 1;
}

float computer(float x,int n)
{
return pow(x,2*n-1)/power(2*n-1);
}

void main()
{
int n,i;
float x,sum;
printf("please input the value of x and n\n");
scanf("%f %d",&x,&n);
printf("x=%f,n=%d\n",x,n);
for(i=1;i<=n;i++) sum+=computer(x,i);
printf("(x/1!)+(x*x*x/3!)+(x*x*x*x*x/5!)+……+(x*x*x*……/(2*n-1)!)=%f\n",sum);
}

程序我在Turbo C 2.0 Turbo C++ 3.0 和 Microsoft Visual C++ 6.0运行都通过了. 保证没问题!
请参考一下吧,呵呵.
百度网友ecc7578
2008-05-01 · TA获得超过806个赞
知道小有建树答主
回答量:715
采纳率:0%
帮助的人:690万
展开全部
#include "stdio.h"
float fun1(float x,int n){
float s;
if(n==1) s=x;
else s=x*fun1(x,n-1);
return s;}
float fun2(int n){
float s;
if(n==1) s=1;
else s=fun2(n-1)*n;
return s;
}
float fun3(float x,int n){
float y;
if(n==1) y=x;
else y=fun3(x,n-1)+fun1(x,n)/fun2(n);
return y;}
void main(){
float x,y;
int n;
scanf("%f,%d",&x,&n);
y=fun3(x,n);
printf("%f",y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
第九个伙伴
2008-05-02 · TA获得超过180个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:123万
展开全部
不明白了
这程序有上面的那么复杂吗?
#include<stdio.h>
#include<math.h>

void count(int n,float x,float y)
{
int f,k,p;
k=2*n-1;
p=1;
float m;
for(;k>0;k--) p=p*k;
m=float (pow(x,(2*n-1)));
if(n%2) f=1;
else f=-1;
y+=m/(f*p);
n--;
if(n!=0) count(n,x,y);
else printf("y=%.3f",y);
}

void main()
{
int n;
float x,y;
y=0;
printf("输入n:");
scanf("%d",&n);
printf("输入x:");
scanf("%f",&x);
count(n,x,y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
li0524158198
2008-05-01
知道答主
回答量:21
采纳率:0%
帮助的人:22.5万
展开全部
“y=x/1!-x*x*x/3!+x*x*x*x*x/5-(七个x相剩)/7!+(八个x相剰)/8!..... ”
是不是“y=x/1!-x*x*x/3!+x*x*x*x*x/5-(七个x相剩)/7!+(九个x相剰)/9!..... ”

即y=(x/1!)-(x*x*x/3!)+(5个x相乘/5!)-(7个x相乘)/7!……+(-(-1)^n)*(2n-1个X相乘)/(2*n-1)!)
下面是这个题在TC2中的源程序:
#include<stdio.h>
double fac(int m)
{
int i;
double t=1.0;
for(i=1;i<=m;i++)
t*=i;
return t;
}
double t(int m,double x)
{
int j;
double s=1.0;
for(j=1;j<=m;j++)
s*=x;
return s;
}
int g()
{
int k,p=1;
static int r=0;
r++;
for(k=1;k<=r;k++)
p*=(-1);
return -p;
}
main()
{
int m,n,h;
double x,y=0;
printf("Input n,x:");
scanf("%d,%lf",&n,&x);
for(h=1;h<=n;h++)
{
m=2*h-1;
y+=g(n)*t(m,x)/fac(m);
}
printf("\ny=%f\n",y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式