1计算1+1/2!+1/3!+1/4!+~+1/20!
第1个回答 2007-08-30
计算1+1/2!+1/3!+1/4!+~+1/20!
解:源程序如下:
main()
{
int i,p=1;
double sum=0;
for (i=1;i<=20;i++)
{
p=p*i;
sum=sum+1.0/p;
}
printf("sum=%lf",sum);
}
我想这就是你们老师常讲的算法吧!
祝你学习进步哟!
解:源程序如下:
main()
{
int i,p=1;
double sum=0;
for (i=1;i<=20;i++)
{
p=p*i;
sum=sum+1.0/p;
}
printf("sum=%lf",sum);
}
我想这就是你们老师常讲的算法吧!
祝你学习进步哟!
第2个回答 2007-08-26
楼上两位大哥,用函数算阶乘要溢出的知道不
#include<stdio.h>
void main(void)
{
double sum = 0;
int n = 1;
double t = 1;
while (n <= 20)
{
sum += t;
n++;
t *= 1.0 / n;
}
printf("sum=%lf",sum);
}
#include<stdio.h>
void main(void)
{
double sum = 0;
int n = 1;
double t = 1;
while (n <= 20)
{
sum += t;
n++;
t *= 1.0 / n;
}
printf("sum=%lf",sum);
}
第3个回答 2007-08-26
#include "stdio.h"
int factorial(int a)
{
int i,f=1;
for(i=1;i<=a;i++)
f*=i;
return f;
}
void main()
{
int i;
double sum=0;
for(i=1;i<=20;i++)
sum+=(double)1/factorial(i);
printf("%f\n",sum);
}本回答被提问者采纳
int factorial(int a)
{
int i,f=1;
for(i=1;i<=a;i++)
f*=i;
return f;
}
void main()
{
int i;
double sum=0;
for(i=1;i<=20;i++)
sum+=(double)1/factorial(i);
printf("%f\n",sum);
}本回答被提问者采纳
第4个回答 2007-08-26
本人顶一顶sjhdu的意见,可惜被你抢先了啊,哈哈。
要不然我来做
要不然我来做
第5个回答 2007-08-26
#include<stdio.h>
long fact(int n) /*求阶乘的函数*/
{
int i;
long m=1;
for(i=1;i<=n;i++)
m=m*i;
return m;
}
void main()
{
int j;
double s=0;
for(j=1;j<=20;j++)
s+=1.0/fact(j);
printf("sum=%lf",s);
}
long fact(int n) /*求阶乘的函数*/
{
int i;
long m=1;
for(i=1;i<=n;i++)
m=m*i;
return m;
}
void main()
{
int j;
double s=0;
for(j=1;j<=20;j++)
s+=1.0/fact(j);
printf("sum=%lf",s);
}