关于浮点数精度
查看原帖
关于浮点数精度
740325
wangboyue楼主2024/8/8 12:57
//08 21 3/3 
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
const int N=10+5;
int n,a[N],b[N],sum;
signed main(){
//	freopen("shopping.in","r",stdin);
//	freopen("shopping.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		double x;
		cin>>x>>b[i];
		a[i]=x*100;
//		cerr<<a[i]<<endl;
		sum+=a[i]*b[i];
	}
	sum*=0.85;
	cout<<sum/100<<"."<<sum/10%10;
	return 0;
}

此代码至可以获得 5050 分,但将输入部分改为

for(int i=1;i<=n;i++){
  double x;
  cin>>x>>b[i];
  sum+=(x*100)*b[i];
}

后便可以通过。为什么?

2024/8/8 12:57
加载中...