我是怎么失去精度的
#include<bits/stdc++.h>
using namespace std;
/*
简单数学:概率、期望
格式输出、精度
*/
int n,x,a,b;
double ans;
int main(){
scanf("%d%d%d%d",&n,&x,&a,&b);
ans=n*(x*a*1.0+(100-x)*b*1.0)/100;
//错解: ans=n*(x*a+(100-x)*b)/100;
//此时ans为整数,按照.2,z则不论什么均出.00, 即失精
printf("%.2lf",ans);
return 0;
}

京公网安备 11010502036488号