P7621[AHOI2021初中组]超市购物题解重点
木纹铝扣板
正常情况下只能四舍五⼊保留⼩数。
思路:
1.将计就计
先算出不打折的总价,
机器人搬运
再算出打85折(×0.85)后的总价
无油空压机结构图2.扩⼤⽆敌
要把⼩数部分第2位四舍,就把它清为0,但"mod"不能⽤于⼩数,所以只能扩⼤100倍,将⼩数部分第2位变为个位。取出这⼀位(个位) 3.原路缩⼩
由于扩⼤了100倍,因此算出的总价还要缩⼩100倍,才能变成原来的数,
数据采集系统方案
取出的⼩数部分第⼆位也如此
4.把它减了
由于要“四舍”,所以要把⼩数部分第⼆位降到5以下,为保险降到0
我的代码:
#include<bits/stdc++.h>
using namespace std;
int n;
double a,b,s;//s代表总价
int main(){
cin>>n;
for(int i=1;i<=n;i++){
如图是某水上打捞船
cin>>a>>b;
s+=a*b;
}//求总价
s*=0.85;//先把总价打85折
s*=100;//要四舍⼩数部分第⼆位,例如:123.23 * 100 = 12323
int l=int(s)%10;//定义⼀个临时变量并赋值为原⼩数部分第⼆位(12323)中的第2个‘3’ 电子除垢器
s=s*1.0/100;//还原
s-=l*1.0/100;//减去⼩数部分第2位
//以上步骤是为了防⽌“五⼊”
cout<<fixed<<setprecision(1)<<s<<endl;//保留⼀位⼩数
return 0;
}