有两种方法

法一,代码,这个方法简单,用%判断,奇数就+偶数就-

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int i=1;//i表示分母
double sum=0.0;
double sum1=0.0;
double sum2=0.0;
while(i<=100)
{
if((i%2)==0)
{
sum1=sum1-1.0/i;
}

if((i%2)!=0)
{
sum2=sum2+1.0/i;
}
sum=sum1+sum2;
i=i+1;
}

printf("%lf\n",sum);

return 0;

}

法二  这个方法很精妙,设置一个变量flag,每循环一次,改变一次符号,,实现一加一减

法二

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{

int i=0;
double sum=0.0;
int flag=1;
for(i=1;i<=100;i++)
{
sum=sum+flag*1.0/i;
flag=-flag;//每循环一次flag变一次符号

}

printf("%lf\n",sum);

return 0;

}


两个代码都是正确的,结果如下

C语言小练习9(计算1-1/2+1/3-1/4+....+1/99-1/100的值)_C语言



加油