代码如下,计算出的结果为 2.45, 输出的结果为2.4,但正确答案为2.5,编译环境为 DEV-C++ 5.11
,编译器版本为 TDM-GCC 4.9.2 32-bit release
。
问题代码如下
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
double n1, n2, n3, n4;
cin >> n1 >> n2 >> n3 >> n4;
double x = (n1 * 2.0 + n2 * 3.0 + n3 * 4.0 + n4) / 10.0;
printf("Media: %.1lfn", x);
return 0;
}
但是 printf("%.1lf", 2.45);
却能输出 2.5
,非常奇怪。