分数求和

时间:2022-11-05 13:59:44

【题目名称】

分数求和

【题目内容】

计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果

第一种:运用两个for循环  ,整体思路为:1/1+1/3+1/5+.....+1/99 和1/2+1/4+1/6+...+1/100 ,,两者再做减法

#include<stdio.h>

int  main()

{

int i ,j ;

double sum1,sum2,sum;   //由于涉及到分数,所以用小数进行定义

for(i=1;i<=100;i+=2)  // 注意这边不是i++,应该为i+=2,因为相邻两项之                                                间的差为2

{

sum1=sum1+(1.0/i);     //这里如果为1的话,1/i==0

}

printf("%lf\n",sum1);   //注意这边不是%d

for(j=2;j<=100;j+=2)   //第一个是2

{

sum2=sum2+(1.0/j);

}

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

sum=sum1+sum2;

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

return  0;

}

第二种:

#include<stdio.h>

int  main()

{

int i ;

double sum; 

int flag=1;

for(i=1;i<=100;i++)

{

sum+=flag*(1.0/i);     //或者写为sum=sum+flag*(1.0/i)也可以

  flag=-flag;         ​​//第一次得到sum=1.0​​;之后flag变为-1,i以2进入,此                                  时sum=1/2  ........

}

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

return  0;

}