这是程序设计代码计算1-1/2+1/3-1/4+1/5.....的,求解答为什么答案是0

#include<stdio.h>
int main ()
{
int a ,b,c,sum;
a=-1;
b=2.0;
sum=1.0;
;
while(b<=10)
{
c=a/b;
sum=sum+c;
b=b+1;
a=-a;
}
printf("%f\n",sum);
return 0;
}

第1个回答  2014-10-16
1。首先,得到的结果sum应该是1吧?

2。无论怎么循环,因为c=0,所以sum一直是1。
为什么c=0呢?因为你a,b,c定义的都是整型变量,a/b会把结果的小数部分直接舍去。
即1/2=0,1/3=0,……
第2个回答  2014-10-16
c是整型变量,不能存放带小数的实型本回答被提问者采纳
第3个回答  2014-10-16
a/b本来为0追问

??不是应该是分数吗?为什么会变成0??

追答

你是用什么写的?你先测试下a/b的结果是多少

相似回答