计算SUM的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算SUM的值相关的知识,希望对你有一定的参考价值。
参考技术A 楼主,不知道你什么意思啊c中出现逗号,只能是逗号运算.但你的表达式....
1.要是这样理解,将num++,sum++,++num进行逗号运算后赋给sum,那应该这样写:
sum=(num++,sum++,++num)
这样sum=++num,即sum=8
2.这样理解,sum=num++,sum++,++num分别是逗号运算的三项,那就从左到右一个个计算,sum的值就是一楼的结果了 参考技术B 问题出在n是整型,以及语句sum+=1/n;
修改办法是将
sum+=1/n;
修改为
sum+=1.0/n;
即1.0是浮点数,使运算采用浮点运算,而非整数运算。
除了这个问题,循环for(i=0;i
0;i--)
sum+=1.0/i;
计算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型,便可以储存多位小数。
以上是关于计算SUM的值的主要内容,如果未能解决你的问题,请参考以下文章
使用 sum() over(partition by) 逐一计算行中的值