注意:计算时1要用double类型即1.0。
奇数偶数分开计算,再合并。
#include<stdio.h> int main() { int i; double sum=0,sum1=0,sum2=0; for(i = 1;i <= 99;i+=2) { sum1=sum1+1.0/i; } for(i = 2;i <= 100;i+=2) { sum2=sum2-1.0/i; } sum=sum1+sum2; printf("%lf",sum); return 0; }
用flag做标签控制+1,-1。
#include<stdio.h> int main() { int i; double sum = 0; int flag = -1; for(i = 1;i <= 100;i++) { flag*=-1; sum+=flag*(1.0/i); } printf("%lf",sum); return 0; }
用函数pow pow(-1,i+1)相当于(-1)^(i+1)
#include<stdio.h> #include<math.h> int main() { int i; double sum = 0; for(i = 1;i <= 100;i++) { sum+=pow(-1,i+1)*(1.0/i); } //pow(-1,i+1)相当于(-1)^(i+1) printf("%lf",sum); return 0; }
本文出自 “娜些维度的雪” 博客,请务必保留此出处http://1536262434.blog.51cto.com/10731069/1701751
【c语言】 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
原文地址:http://1536262434.blog.51cto.com/10731069/1701751