凌艺樽 • 11个月前
#include <bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
long long s1;
double p,w,d,f,s;
int main()
{
cin>>p>>w>>s;
s1=(int)(s/250);
switch(s1)
{
case 0:d=0;break;
case 1:d=0.02;break;
case 2:d=0.05;break;
case 3:d=0.05;break;
case 4:d=0.08;break;
case 5:d=0.08;break;
case 6:d=0.08;break;
case 7:d=0.08;break;
case 8:d=0.1;break;
case 9:d=0.1;break;
case 10:d=0.1;break;
case 11:d=0.1;break;
default :d=0.15;break;
}
f=p*w*s*(1-d)-1;
printf("%.21f",f);
return 0;
}
//禁止抄袭,有坑
Comments:
c++用printf?一看就有毛病!
using namespace std; int main(){
double p,w,s,d;
cin>>p>>w>>s;
if(s<250){
d=0;
}
if(s>=250 && s<500){
d=0.02;
}
if(s>=500 && s<1000){
d=0.05;
}
if(s>=1000 && s<2000){
d=0.08;
}
if(s>=2000 && s<3000){
d=0.1;
}
if(s>=3000){
d=0.15;
}
cout<<setprecision(2)<<fixed<<p*w*s*(1-d)<<endl;
return 0;
}
改良版但要把注释打掉
/*#include <bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
long long s1;
double p,w,d,f,s;
int main()
{
cin>>p>>w>>s;
s1=(int)(s/250);
switch(s1)
{
case 0:d=0;break;
case 1:d=0.02;break;
case 2:d=0.05;break;
case 3:d=0.05;break;
case 4:d=0.08;break;
case 5:d=0.08;break;
case 6:d=0.08;break;
case 7:d=0.08;break;
case 8:d=0.1;break;
case 9:d=0.1;break;
case 10:d=0.1;break;
case 11:d=0.1;break;
default :d=0.15;break;
}
f=p*w*s*(1-d);
printf("%.2lf",f);
return 0;
}*/