我的编程空间,编程开发者的网络收藏夹
学习永远不晚

c语言之如何求e的近似值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

c语言之如何求e的近似值

如何求e的近似值

自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。

输入格式:

输入第一行中给出非负整数 n(≤1000)。

输出格式:

在一行中输出部分和的值,保留小数点后八位。

输入样例:
10

      
    
输出样例:
2.71828180

我的答案

#include <stdio.h>
int main()
{
    int n;
    double sum = 1, temp = 1;//注意是n+1项,所以先令sum=1
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
    {
        temp *= i;
        sum += 1.0 / temp;
    }
    printf("%.8lf",sum);
    return 0;
}

求e的近似值(巧用保留位数,拒绝最大值溢出)

题目:

自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求出该级数的前 n+1 项和。

输入格式:

输入第一行中给出非负整数 n(≤1000)

输出格式:

在一行中输出部分和的值,保留小数点后八位

注意:

一开始,n按照输入格式中给定的条件设置为≤1000,,,果然数据溢出了,用long long int也拯救不了的那种,结果如下:

然后想到用数组存下来,,更难了好吗o(╥﹏╥)o!!!

突然,输出格式中保留小数点后八位,一下子亮了,简直是高光啊!以这个为参照,截取不就好了,具体见代码部分。

事实上,当m<=0.00000001时,满足条件的第一个m=0.0000000021,后面项的值更小,所以在此处截取对保留8位数的结果不会进行损耗。

代码:

#include<stdio.h>
int main(){
    int num;
    long long int n=1;
    double m,sum=1;
    scanf("%d",&num);
    if(num>=0&&num<=1000){
        for(int i=1;i<=num;i++){
            n*=i;    //n表示n!
            m=1.0/n; 
            sum+=m;
            if(m<=0.00000001){ //当某一项的值小于八位小数时,跳出循环
                break;
            }
            
        }
         
         printf("%.08lf",sum);
    }
    return 0;
}

结果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

c语言之如何求e的近似值

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

c语言之如何求e的近似值

这篇文章主要介绍了c语言之如何求e的近似值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-08

c语言实现计算圆周率的近似值

这篇文章主要介绍了c语言实现计算圆周率的近似值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-08

c语言如何求三个数的平均值

要求三个数的平均值,首先需要将这三个数相加,然后再除以3。以下是用C语言编写的示例代码:```c#include int main() {int num1, num2, num3;float average;printf("请输入三个数:\
2023-08-14

C语言之如何求三次方根

这篇文章主要介绍了C语言之如何求三次方根问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-08

c语言函数如何求两个数的最大值

这篇文章主要介绍了c语言函数如何求两个数的最大值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-08

C语言如何读取文件求某一列的平均值

本篇内容主要讲解“C语言如何读取文件求某一列的平均值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言如何读取文件求某一列的平均值”吧!第一部分:比较读取文件的效率首先随机生成一个文件,100
2023-06-29

C语言如何求1到100的和

这篇文章主要讲解了“C语言如何求1到100的和”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何求1到100的和”吧!题目:求1+2+3+……+98+99+100(1)用数学方法求解(
2023-06-17

C语言如何返回常量的值

C语言中,返回常量值有两种方法:直接返回常量,简单易懂。使用函数指针,避免常量暴露,但相对复杂,可能产生开销。选择方法需根据情况决定,若需简单直接返回常量,则用方法1;若需保护常量或需要更多灵活性,则用方法2。
C语言如何返回常量的值
2024-04-02

C语言中如何求大数的阶乘

这篇“C语言中如何求大数的阶乘”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中如何求大数的阶乘”文章吧。首先定义一个函
2023-06-16

C语言如何求整数的位数及各位数字之和

这篇文章主要介绍了C语言如何求整数的位数及各位数字之和,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

如何进行C语言猜凶手及类似题目的实现

这期内容当中小编将会给大家带来有关如何进行C语言猜凶手及类似题目的实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。描述:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个
2023-06-26

C语言中如何求两个矩阵的乘积

这篇文章将为大家详细讲解有关C语言中如何求两个矩阵的乘积,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。分析在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,矩阵是高等代数
2023-06-25

如何用c语言求两个字符串的交集

这期内容当中小编将会给大家带来有关如何用c语言求两个字符串的交集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。求两个字符串的交集,看似简单,实则需要考虑的细节很多。我的思路:1.将两个字符串简化,将里面重
2023-06-22

c语言如何给结构体里的数组赋值

c 语言中给结构体数组赋值有两种方法:逐个赋值:使用数组索引,一个一个赋值。初始化列表:在声明时直接初始化数组元素。C 语言中给结构体数组赋值在 C 语言中,给结构体数组赋值可以使用以下两种方法:方法 1:逐个赋值使用此方法,需要逐个
c语言如何给结构体里的数组赋值
2024-05-22

c语言如何求任意整数的最大公约数

C语言中可以使用辗转相除法来求任意整数的最大公约数。具体步骤如下:1. 定义一个函数 `gcd`,接受两个整数参数 `a` 和 `b`,表示待求最大公约数的两个整数。2. 在函数中使用循环来进行辗转相除的计算,直到 `b` 变成 0,此时
2023-08-08

c语言如何求出给定范围内的所有质数

今天小编给大家分享一下c语言如何求出给定范围内的所有质数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。程序功能:输入一个整数
2023-06-16

c语言如何实现两个值互相交换的函数

小编给大家分享一下c语言如何实现两个值互相交换的函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!c语言中实现两个值互换的函数。1、#include
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录