第一个while死循环了,把b+2.0;换成b += 2.0;
float c = 1/3不行,改为float c = 1.0/3;
因为1/3是整除,结果为0,不是0.33333
还有第6行应该是b+=2.0啊,光是b+2.0毫无意义。
总之问题较多。重写:
#include <stdio.h>
int main()
{
double sum = 0;
int flag = 1,i;
for(i=1;i<=100;i++)
{
sum += 1.0/i*flag;
flag *= -1;
}
printf("%lf",sum);
}
#include <stdio.h>
int main()
{
int i;
double sum1 = 0, sum2 = 0, ans;
for(i = 1; i<=100; i++)
{
if(i % 2 != 0)
sum1 += 1.0 / i;
else
sum2 += 1.0 / i;
}
// printf("%f %f", sum1, sum2);
ans = sum1 - sum2;
printf("%f", ans);
return 0;
}