注册 登录
编程论坛 C++教室

[求助]请教这个式子的代码?

chf710 发布于 2007-04-05 21:09, 897 次点击

x1/1!+x2/2!+x3/3!+......+xn/n!

x是从键盘上输入的值,求n从1到10时该式子的值

请各位大侠赐教

10 回复
#2
wfpb2007-04-05 22:01

作业?

#3
chf7102007-04-05 22:11
回复:(chf710)[求助]请教这个式子的代码?
是一本书后的习题,不是作业。我才学的C++,还是只菜鸟,编了好几次怎么也算不对。
#4
华龙2007-04-05 23:28
#include <iostream>
using namespace std;
int main()
{
double x;
cin>>x;
int n=1;
while (n<=10)
{
double sum=0;
double a=1;
for (int i=1;i<=n;i++)
{
a=a*x/i;
sum+=a;
}
cout<<"sum="<<sum<<endl;
n++;
}
return 0;
}
#5
wfpb2007-04-06 11:58

int frac(int a)
{
if(a<0)
return 0;
else if(a<2)
return 1;
else return n*frac(a-1);
}

int f(int x,int n)
{
return pow(x,n)/frac(n);
}

int func(int x,int n)
{
int result=0;
for(int i=1;i<=n;i++)
result+=f(x,i);
return result;
}

void main()
{
int x;
cin>>x;
for(int i=1;i<=10;i++)
cout<<func(x,i)<<endl;
}

[此贴子已经被作者于2007-4-6 14:36:33编辑过]

#6
Unshow2007-04-06 12:53
int Factorial(int n)
{
if(n==0||n==1) return 1;
else return n*Factorial(n-1);
}
//定义阶乘函数
int Power(int x,int n)
{
double a=1;
if (n==0) return 1;
else
for(int i=1,i<=n,i++)
a*=x;
return a;
}
//定义幂函数
void main()
{
int x,n;
cout<<"输入整数x:"<<endl;
cin>>x;
for(n=1;n<=10;n++)
{
doubel answer=0;
answer+=Power(x,n)/Factorial(n);
cout<<"当n="<<n<<"时,原式的值为"<<answer<<endl;
}
}
#7
菲拉洛的残愤2007-04-06 13:07
以下是引用Unshow在2007-4-6 12:53:40的发言:
int Factorial(int n)
{
if(n==0||n==1) return 1;
else return n*Factorial(n-1);
}
//定义阶乘函数
int Power(int x,int n)
{
double a=1;
if (n==0) return 1;
else
for(int i=1,i<=n,i++)
a*=x;
return a;
}
//定义幂函数
void main()
{
int x,n;
cout<<"输入整数x:"<<endl;
cin>>x;
for(n=1;n<=10;n++)
{
doubel answer=0;
answer+=Power(x,n)/Factorial(n);
cout<<"当n="<<n<<"时,原式的值为"<<answer<<endl;
}
}

请问下
for(int i=1,i<=n,i++)
a*=x;

这句是什么意思呀???


而且楼上的两位大哥都"INT X" X一定是整数么???

[此贴子已经被作者于2007-4-6 13:09:27编辑过]

#8
wfpb2007-04-06 14:38

考虑欠缺了,你修改下类型就好

#9
chf7102007-04-06 15:47
谢谢各位的帮助,使我多学了一些编程的思路,十分感激!
#10
Unshow2007-04-06 22:41

"a*=x" means "a=a*x"

#11
darenwu123452007-04-07 14:52
楼主YOU LIE!!!!   
1