无法让cout显示小数c ++

use*_*657 1 c++

我无法cout显示小数(使用eclipse c ++和mingw)

#include <iostream>
using namespace std;

int main() {

    int a = 55, b = 60, c = 70;

    double avgResult;

    avgResult = ((a + b + c) / 3);

    cout << avgResult;  //should display 61.666666

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的输出是61,当我预计它是61.666666.

我可以使用它来显示小数

cout << std::fixed << std::setprecision(2) << avrResult;

但我想我不需要这样做,除非我想要一个特定的小数精度.

如果我做的事情

double value = 12.345;
cout << value;
Run Code Online (Sandbox Code Playgroud)

它显示正确,所以它让我相信上述问题与int我计算中的值的使用有关double avgResult

顺便说一下我是c ++的新手,我刚刚开始学习

And*_*rew 10

((a + b + c) / 3)- 有一种int类型.把它((a + b + c) / 3.0)改成得到double