① c语言的编程题!百思不得其解为什么最后运算结果不对!
fac=fac*(fac+1);这儿错了
fac是阶乘吧?
应该另外一个变量,保存当前乘到哪个数了,比如i
正确的应该是fac=fac*i;
#include<stdio.h>
int main(void)
{
float sum=1,term=0,n;
int fac=1;
int i = 1;
printf("Enter the limit: ");
scanf("%f",&n);
term=1.0/fac;
while(term > n)
{
sum=sum+term;
i++;
fac=fac*i;
term=1.0/fac; //这个放在后边
}
printf("e approximates %f",sum);
}
② C语言求e的值
printf("%lf\n",e);
改成
printf("%.100lf\n",e);
因为double精度只能显示10多位,后面是0.
一定要精度换数组保存.
③ C语言:求e的近似值
你写的是使用泰勒公式求e,少一个1。
正确的:e=1+1/1!+1/2!+1/3!+......
》C++代码(while循环)》》:
#include<iostream.h>
void main()
{
double e=1;
double jc=1;//求阶乘,并存入jc中
int i=1;
while(1/jc>=1e-6)
{
e=e+1/jc;
i++;
jc=jc*i;
}
cout<<"e="<<e<<endl;
}
》C代码》》:
#include<stdio.h>
void main()
{
double e=1;
double jc=1;//求阶乘,并存入jc中
int i=1;
while(1/jc>=1e-6)
{
e=e+1/jc;
i++;
jc=jc*i;
}
printf("e=%f\n",e);
}
④ c语言中怎求数学中的e是多少啊
我给你介绍一个公式吧:(泰勒工式展开式)
e=1+ 1 + 1/2! +1/3! +1/4! +1/5! + ...+ 1/n!
其中,n!表示n的阶乘:n!=n*(n-1)*(n-2)*...*3*2*1;可以专门设计一个子函数求 n! ;(n越大,精确度越高)
下面是代码:
//网页上直接写的,在VC++6.0运行时如果编译出错,那就改一下分
//号和逗号
#include<stdio.h>
#define N 20
int jiecheng(int n)
{
int i=n;
int result=1;
while(i)//
{
result*=i;
i--;
}
return result;
}
void main()
{
int i;
double e=2;
for(i=2;i<N;i++)
{
e+=1/(jiecheng(i)*1.0)
}
printf("e=%lf\n",e);
}
⑤ C语言:求e的近似值
这题目有点奇怪:计算精度到10^-4为止,输出却要到12位小数(要那么多位不准确的数?)
#include<stdio.h>
intmain()
{inti,t=1;
doublee=0;
for(i=1;t<10000;i++)
{e+=1.0/t;
t*=i;
}
printf("%.12lf
",e);
return0;
}
⑥ c语言中怎求数学中的e是多少啊
C语言中数e(指数e)可以用exp( )函数表示。
函数原型:double exp(double x);
功能:计算e^x的值
返回值:计算结果
举例:
double x=1.5, y;
y = exp(x); // y的值就是e^1.5
注:使用exp函数时,需要将头文件#include<math.h>添加进源文件中。
⑦ c语言的问题,结果为什么不对。这个是在求e的值
#include<stdio.h>
intmus(intn);
main()
{
intn=0;
doublee=1;
while(1.0/mus(n++)>1e-6)
e+=1.0/mus(n);
printf("%lf
",e);
}
intmus(intn)
{
inti,f=1;
for(i=1;i<=n;i++)
f*=i;
returnf;
}
⑧ C语言编程计算e
楼主你好
具体代码如下:
#include<stdio.h>
int main()
{
double e=1,index;
int i=1,j=1;
do{
i*=j;
index=1.0/i;
e+=index;
j++;
}while(index>=1E-6);
printf("e=%.5f\n",e);
return 0;
}
希望能帮助你哈