编写c语言程序求y的值。高分!

y=x的平方除以2!+x的四次方除以4!+。。。+x的2n次方除以(2n)!
急用!!高分
!为阶乘

#include "stdio.h"
int main()
{
int i; //循环变量
int n; //表达式中的n
double x,xx,y=0.0; //表达式中的x,y,以及记录增量的xx

printf("请输入x和n(以空格隔开):");
scanf("%lf %d",&x,&n);
xx=1.0;
for(i=1;i<=n;i++)
{ //由表达式可知,后一个增量等于上一个增量 *x*x/(2*i-1)/(2*i)
xx=xx*x*x/(2.0*i-1)/(2.0*i);
y+=xx;
}
printf("y=%lf\n",y); //输出结果
return 0;
}

//已调试通过,比楼上有一些地方改进了一下,输入的时候n不宜过大,否则可能会有溢出
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-26
#include "stdio.h"
#define N 5
int main()
{
int i,t=1;
double x,sum=0.0,tt;
scanf("%lf",&x);
tt=x*x;
for(i=2;i<=2*N;i+=2)
{
t*=(i-1)*i;
sum+=tt/t;
tt*=x*x;
}
printf("sum=%lf\n",sum);
return(0);
}
第2个回答  2011-04-26
#include "stdio.h"
//n的阶乘***************************
int ff(int n)
{
int i,sum = 1;
for(i = 1;i <= n;i++)
{
sum = sum*i;
}
return sum;
}
//求x的n次方****************************
float gg(float x,int n)
{
int i;
float sum = 1;
for(i = 1;i <= n;i++)
{
sum = x*sum;
}
return sum;
}
//主函数*************************************
void main()
{
int i,n,j;
float x,y = 0;
printf("请输入x = ");
scanf("%f",&x);
printf("请输入n = ");
scanf("%d",&n);
j = 2*n;
for(i = 2;i <= j;i = i+2)
{
y = y+(gg(x,i)/ff(i));
}
printf("y = %f",y);
}
我觉得使用函数模块是编程的好习惯!所以我用了函数模块的方法,希望采纳!
相似回答