c语言编程求sum=1–1/2+1/3–1/4…1/n的值并输出。
1个回答
关注
展开全部
(1)1/n问题,如果不写成1.0/n,就是计算错误。
因为C语言里默认是1/n是求商,得到的是整数,所以结果为0,例如1/3=0,除非1.0/3,才能得到0.333333
(2)正负号的控制,通项公式是1/1+1/2+1/3-1/4 ... ...所以,正1负1是交替的,因此增加了了if判断。
(3)循环变量与通项式的关系,i是循环变量,那么每一项就是1/n,注意1=1/1
咨询记录 · 回答于2022-05-08
c语言编程求sum=1–1/2+1/3–1/4…1/n的值并输出。
您好,题目收到,开始编码,稍后发您,请稍候。
首先,给您完整准确的代码:#includeint main(){\x09double sum=0;\x09int n;\x09scanf("%d",&n);\x09for(int i=1;i<=n;i++)\x09{\x09\x09if(i%2==1)\x09\x09\x09sum=sum+1.0/i;\x09\x09else\x09\x09{\x09\x09\x09sum=sum-1.0/i;\x09\x09}\x09}\x09printf("%f",sum);\x09return 0;}
然后,给您解释以下代码中的重要环节:
(1)1/n问题,如果不写成1.0/n,就是计算错误。因为C语言里默认是1/n是求商,得到的是整数,所以结果为0,例如1/3=0,除非1.0/3,才能得到0.333333(2)正负号的控制,通项公式是1/1+1/2+1/3-1/4 ... ...所以,正1负1是交替的,因此增加了了if判断。(3)循环变量与通项式的关系,i是循环变量,那么每一项就是1/n,注意1=1/1
以上就是解决这个问题的代码+算法,您可以根据这个思路,自己编写出以上代码。如果有写不出来的,您可以参考我给您写好的代码。
希望以上解答对您有帮助,如果方便的话,顺手给个赞哦。