练习4-7 求e的近似值
在做这道题目的时候有点懵,一开始用的是两个for循环,后来发现一个for循环也可以调试成功。希望有路过的可以帮忙指点一下~渣渣小妹不胜感激!
自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。本题要求对给定的非负整数n,求该级数的前n项和。
输入格式:
输入第一行中给出非负整数n(≤1000)。
输出格式:
在一行中输出部分和的值,保留小数点后八位。
输入样例:
10 |
---|
输出样例:
2.71828180 |
---|
#include <stdio.h>
#include<stdlib.h>
int main()
{
int i,N,fat;
double sum,dor;
fat=1;
sum=1; //由于0!=1,但是令i=1的话,fat 的值就没法算了,所以赋sum初值为1
scanf("%d",&N);
for(i=1;i<=N;i++){
fat=fat*i;
//printf("%d\n",fat); //调试时用来判断算出的阶乘n!是否正确
dor=1.0/fat;
sum+=dor;
}
printf("%.8f",sum);
return 0;
}