为什么这个数学不会起作用?

Ave*_*kid -1 c++ visual-studio

我正在尝试运行一个1 + 1/3 + 1/5 - 1/7 + 1/9的循环......等等

但它一直是1!

我试过了

double answer = 1 + 1/3 + 1/5 - 1/7 + 1/9 - 1/11;
displays 1
Run Code Online (Sandbox Code Playgroud)

数学很奇怪,就像我甚至搞砸了一样

double answer = 1 / 5; //should display 0.2
displays 0!!!!!!!!
Run Code Online (Sandbox Code Playgroud)

Dre*_*ann 7

您正在使用整数数学.

两个整数之间的运算结果将是一个整数,向0舍入.

所以你的代码变成:

double answer = 1 + 0 + 0 - 0 + 0 - 0;
Run Code Online (Sandbox Code Playgroud)

试试这个.

double answer = 1.0 + 1.0/3.0 + 1.0/5.0 - 1.0/7.0 + 1.0/9.0 - 1.0/11.0;
Run Code Online (Sandbox Code Playgroud)