c++语句求助!没有语法错误,请问是什么逻辑错误

#include "iostream.h" void main() { int i(0),a(1); double x(1),s(0); while(x>=0.0001) { i=i+1; a=a+i-1; x=1/a; s=s+x; } cout< }

第1个回答  2020-06-04
语法错误就是编译不通过,编译不成功
逻辑错误就是语法没任何错误,但得不到预期的结果,比如你要计算a+b的值,得到的是a+a的值,那就是逻辑错误
明显1/a,两个都是
整型变量
,就是
整除
,因此除了a=1,其他的返回的都是0
解决方法可以将i,a都定义为double类型
第2个回答  2020-12-16
x=1/a;
这个只要a
大于1
算出来都是0
整形除整形得商(除不尽的余数,小数丢掉)
相似回答