输出始终等于1,无法完成数学方程式
for (int i = 1; i <= x; i += 2) {
sum += 1 / i;
}
我期望当x等于3时,sum的输出等于4/3,但实际输出为1。
答案 0 :(得分:0)
在C,C ++和Java之类的语言中,将两个整数相除为零。所以,如果我有:
int x = 3 / 5;
然后x == 0
,因为它四舍五入为0。解决这个问题非常简单-只需使用double
而不是int
:
double sum = 0.0;
for(int i = 0; i <= x; i += 2) {
sum += 1.0 / i; // 1.0 is a double, so division works as intended
}