C++ 【用for循环】(不是while !!!)实现求e的近似值,只能用一个函数 请问如下代码中的问题在哪里 15
e=1+1/1!+1/2!+1/3!+1/4!…………共求前五十项#include<iostream>usingnamespacestd;voidmain(){inti,...
e=1+1/1!+1/2!+1/3!+1/4!…………共求前五十项
#include<iostream>
using namespace std;
void main()
{
int i,j=0;
double sum,s=0;
for(i=1;i<=50;i++)
{for(j=i;j>0;j--)
s=1/j;}
sum+=s;
cout<<"e近似等于"<<sum<<endl;
} 展开
#include<iostream>
using namespace std;
void main()
{
int i,j=0;
double sum,s=0;
for(i=1;i<=50;i++)
{for(j=i;j>0;j--)
s=1/j;}
sum+=s;
cout<<"e近似等于"<<sum<<endl;
} 展开
5个回答
展开全部
这个代码完美运行
#include<iostream>
using namespace std;
void main()
{
int i,j=0;
double sum=0,s;
for(i=1;i<=50;i++)
{
{
s=1;
for(j=i-1;j>0;j--)
s*=j; //你没有乘法这步,n!=1*2*3*....*(n-1)*n;
#include<iostream>
using namespace std;
int main()
{
int i,j=0;
double sum=0,s;
for(i=1;i<=50;i++)
{
{
s=1;
for(j=i-1;j>0;j--)
s*=j;
}
s=1/s;
sum+=s;
}
cout<<"e近似等于"<<sum<<endl;
return 0;
}
}
s=1/s;
sum+=s;
}
cout<<"e近似等于"<<sum<<endl;
}
#include<iostream>
using namespace std;
void main()
{
int i,j=0;
double sum=0,s;
for(i=1;i<=50;i++)
{
{
s=1;
for(j=i-1;j>0;j--)
s*=j; //你没有乘法这步,n!=1*2*3*....*(n-1)*n;
#include<iostream>
using namespace std;
int main()
{
int i,j=0;
double sum=0,s;
for(i=1;i<=50;i++)
{
{
s=1;
for(j=i-1;j>0;j--)
s*=j;
}
s=1/s;
sum+=s;
}
cout<<"e近似等于"<<sum<<endl;
return 0;
}
}
s=1/s;
sum+=s;
}
cout<<"e近似等于"<<sum<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{
int i,j=0;
double sum=1,s=0; // sum 从1开始
for(i=1;i<=50;i++){
s=1; // 这里赋值为1
for(j=i;j>0;j--)
s=s*j; // 从1开始乘 ,达到阶乘的目的 。
sum+=1/s; // 对于1到50中的每个i,此时加上i阶乘的倒数。
}
cout<<"e近似等于"<<sum<<endl;
}
using namespace std;
int main()
{
int i,j=0;
double sum=1,s=0; // sum 从1开始
for(i=1;i<=50;i++){
s=1; // 这里赋值为1
for(j=i;j>0;j--)
s=s*j; // 从1开始乘 ,达到阶乘的目的 。
sum+=1/s; // 对于1到50中的每个i,此时加上i阶乘的倒数。
}
cout<<"e近似等于"<<sum<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的 问题很有问题啊,计算机根本就没法表示,就算是用最长的long double也没法表示1/50!啊,在计算到30几位的时候没法储存啦,
#include<iostream.h>
//using namespace std;
void main()
{
long double sum=1.0;long int s=1;
for(int i=1;i<=49;i++)
{
s*=i;
cout<<s<<endl; //每步看看数据
sum+=1.0/s;
cout<<sum<<endl; //输出每次的结果
}
cout<<"e近似等于"<<sum<<endl;
}
#include<iostream.h>
//using namespace std;
void main()
{
long double sum=1.0;long int s=1;
for(int i=1;i<=49;i++)
{
s*=i;
cout<<s<<endl; //每步看看数据
sum+=1.0/s;
cout<<sum<<endl; //输出每次的结果
}
cout<<"e近似等于"<<sum<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main函数修改如下(for循环中第二个条件也可改成i<=49)
void main()
{
int i;
double sum=1.0,s=1.0;
for(i=1;i<=50;i++)
{
s/=i;
sum+=s;
}
cout<<"e近似等于"<<sum<<endl;
}
void main()
{
int i;
double sum=1.0,s=1.0;
for(i=1;i<=50;i++)
{
s/=i;
sum+=s;
}
cout<<"e近似等于"<<sum<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询