题目描述 Description
.输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字)。编程计算打折后机票的实际价格(单位:元。计算结果要将个位数四舍五入到十位数“元”)。输入只有一行两个数(两数间用一个空格分隔),第一个为整数,表示机票原价,第二个整数或实数(如是实数,小数点后最多1位数字)表示打折率。
输出只有一行一个正整数,表示打折后的机票价格。
看到这道题我就想我一定会在精度问题上掉进坑里,结果真掉进去了T—T
由于计算结果要将个位四舍五入到十位,所以预处理出来的数要比实际缩小十倍,这时候我们再判断一下四舍五入的结果,也就是如果此数比此数取整后的数小于0.5,(取整结果*10)即可。反之(取整结果+1)*10即可,
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int main() 5 { 6 int a; 7 double b; 8 cin>>a>>b; 9 double c=a*b*0.01; 10 if(c-int(c)<0.5)cout<<int(c)*10; 11 else cout<<(int(c)+1)*10; 12 return 0; 13 }