计算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!]