计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值(类型转换)

Posted cuckoo-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值(类型转换)相关的知识,希望对你有一定的参考价值。

思路:可以将上式分解成为分母为奇数项的总和与偶数项的总和,然后两项进行相减。

注意:在求分数相加减时应该要注意定义变量的类型应该是double型。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int i;
 5     double sum;
 6     double sum1 = 0;
 7     double sum2 = 0;
 8     //奇数项和
 9     for (i = 1;i < 100;i += 2)
10     {
11         sum1 =sum1 + 1.0 / i;
12     }
13     printf("%d
",sum1);
14     //偶数项和
15     for (i = 2;i <= 100;i += 2)
16     {
17         sum2 = sum2 + 1.0 / i;
18     }
19     printf("%d
", sum2);
20     sum = sum1 - sum2;
21     printf("%f
",sum);
22     return 0;
23 }


在for循环里面的sum1 = sum1 + 1.0 / i;其中定义sum1的目的是为了储存每一次计算奇数项时的总和,而

其中的1.0,是因为分数计算的输出结果不一定为整型,改为1.0可以将1.0 / i的结果改为double型,便可以储存多位小数。


以上是关于计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值(类型转换)的主要内容,如果未能解决你的问题,请参考以下文章

计算两篇文章相似度

用for和while循环求e的值[e=1+1/1!+1/2!+1/3!+1/4!+1/5!+...+1/n!]

c语言编程题 计算圆周率的近似值,计算公式为:e=1+1/1!+1/2!+1/3!+1/4!+1/

Java基本语法的常见练习题

Python:对于每个列表元素,在列表中应用一个函数

计算 pandas 时间序列趋势的统计数据