首页 > 代码库 > 【牛刀小试3】e的值(精度为1e-6)
【牛刀小试3】e的值(精度为1e-6)
【牛刀小试3】e的值(精度为1e-6)
主要知识:
1. 函数
2. 阶乘
3. for循环
4. if
5. break
下列公式是求e的表达式:
e= 1+1/1!+1/2!+1/3!+……1/n!
[ 程序1 ]
说明:使用函数求N!,再判断1.0/N!<=1e-6,如果满足就退出,反之就继续。
//e= 1+1/1!+1/2!+1/3!+……1/n!(精度为1e-6时) #include <stdio.h> int main( void ) { inti; intj; doublee= 1 ; doublesum= 1; for(i= 1; ; i++ ) //这里也可以使用while循环代替 { sum*=i; //每次求值都在上一次的基础 e+=1.0/ sum; if(( 1.0/ sum) <= 1e-6 ) //判断 { break; //结束for循环 } } printf("e= %lf\n" , e ); return 0; }
运行结果:
[ 程序2 ]
说明:使用for语句求N!,再判断。
#include <stdio.h> int factorial( int n ) //求N!阶乘的函数 { intj= 0; intsum= 1; //必须赋值,且为1 for(j= 1; j<= n ; j++ ) { sum*=j; } returnsum; } int main( void ) { inti= 0; doublenum= 0.0; doublee= 1.0; //必须赋值。。 do { i++; num= 1.0/ factorial( i ); e+= num; }while(num> 1e-6 ); //判断条件 printf("e= %lf\n", e ); return 0; }
运行结果:
【指尖的微笑】错误在所难免,希望得到大家的指正^-^
转载时保留原文的链接http://codingit.howbbs.com和http://blog.csdn.net/mirrorsbeyourself
【牛刀小试3】e的值(精度为1e-6)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。