当我打印的值时max1,会得到四舍五入的输出。
使用setprecision确实可以解决我的问题,但我想解决此问题而不使用诸如的其他头文件iomanip。
int main()
{
long long int n, l;
cin >> n >> l;
long long int a[n];
for(int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n);
double max1 = 0;
max1 = 2*mmax(a[0] - 0, l - a[n - 1]);
for(int i = 0; i < n - 1; i++)
{
max1 = mmax(max1,(a[i + 1] - a[i]));
}
cout << max1/2.0;
//cout << fixed << setprecision(6) << max1/2.0;
}
Run Code Online (Sandbox Code Playgroud)
我收到了四舍五入的输出。
您可以std::cout不std::setprecision使用成员函数来设置的精度:
std::cout.precision(42);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |