这是我的代码:
#include <bits/stdc++.h>
using namespace std;
signed main(){
int t=1;
while(t--){
int n;
cin>>n;
double a[n];
double sum=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
if(a[i]>=0)
{
double d=a[i]-floor(a[i]);
//cout<<d<<endl;
sum+=d;
//cout<<"sum1:"<<sum<<endl;
}
else
{
double d=(a[i]-ceil(a[i]));
//cout<<d<<endl;
sum+=d;
//cout<<"sum2:"<<sum<<endl;
}
}
cout<<sum<<endl;
}
return 0;
}
输入时 4 4.58413 1.22491 -2.10517 -3.70387 我的代码显示总和为-4.44089e-016,但总和的值应为0。 为什么会发生?