1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > [C语言] 利用阶乘公式编程计算e的近似值 直到最后一项的绝对值小于10-5时为止 输出

[C语言] 利用阶乘公式编程计算e的近似值 直到最后一项的绝对值小于10-5时为止 输出

时间:2020-04-12 04:19:55

相关推荐

[C语言] 利用阶乘公式编程计算e的近似值 直到最后一项的绝对值小于10-5时为止 输出

利用

编程计算e的近似值,直到最后一项的绝对值小于10-5时为止,输出e的值并统计累加的项数。输出e值要求小数点后必须保留6位有效数字(四舍五入),不足补零。

输入:

无输入。

输出:

输出e的值和累加的项数,两项之间用一个空格隔开。输出e值要求小数点后必须保留6位有效数字(四舍五入),不足补零。

数据范围

输出double范围的浮点数和int范围的整数

#include <stdio.h>int main() {double sum=1,i=1; //sum表示为最开始的1项 i则为while循环中的系数int type=1,x,y; //type用来控制循环的终止while(type){double j=1;//j作为局部变量在循环里设出,否则j的初始值会随着循环增大for(x=1;x<=i;x++){ //x作为for循环的参考,与while的i嵌套j=j*x;// |y=x;//这里将y单独赋值为x作为项数,否则|} //直接用x会因为多走一遍while循环而比实际大1 |if((1.0/j)>1e-5){ //此处为分支条件,按题中要求给出 |sum=sum+(1.0/j);// |i++;//=====================↑}else{ //若满足条件则打印,并使type=0终止循环printf("%.6lf %d",sum,y);type=0;}}return 0;}

代码解析见代码注释

基本思路逻辑:

该公式包括两部分:1.加法(循环)2.各个阶乘项的乘法(循环)

所以很容易想到循环的嵌套,所以大的框架为第一循环作为加法,小的框架被包含在大框架也就是第一循环里面,为各个阶乘项的运算,也为循环,每一项都需要一个循环,而大框架循环正好可以做到,最后在大循环内小循环和打印条件并列,即可实现最终效果

(解法不唯一,仅供参考)

[C语言] 利用阶乘公式编程计算e的近似值 直到最后一项的绝对值小于10-5时为止 输出e的值并统计累加的项数。输出e值要求小数点后必须保留6位有效数字(四舍五入) 不足补零。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。