#include
#include
int main ()
{
int i;
double sum;
i = 1;
sum = 0.0;
for (i=1;i<=100;i++)
{
if (i%2!=0)
sum = sum+(1/i);
else
sum = sum-(1/i);
}
printf ("和为%lf\n",sum);
return 0;
}
你把i设置为double类型,因为整数型除以比他大的数为0.
那你别改i的类型,求和中的
if (i%2!=0)
sum = sum+(1/i);
else
sum = sum-(1/i);
改成
if (i%2!=0)
sum = sum+(1.0/i);
else
sum = sum-(1.0/i);
564849248 加备注
是 整型,i也是整型,两个相除会做整除,只有1/1为1,其余都小余1而自动舍去小数部分,你把a定义成float就行了
1) 使用隐式类型转换1.0/i , 不过这是float类型
或者
2)显式类型转换1.0/(double)i