题目描述 Description
.输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字)。编程计算打折后机票的实际价格(单位:元。计算结果要将个位数四舍五入到十位数“元”)。输入只有一行两个数(两数间用一个空格分隔),第一个为整数,表示机票原价,第二个整数或实数(如是实数,小数点后最多1位数字)表示打折率。
输入样例1:
888 7
输出样例1:
620
输入样例2:
1255 7
输出样例2:
880
输入描述 Input Description
输入只有一行两个数(两数间用一个空格分隔),第一个为整数,表示机票原价,第二个整数或实数(如是实数,小数点后最多1位数字)表示打折率。
输出描述 Output Description
输出只有一行一个正整数,表示打折后的机票价格。
样例输入 Sample Input
888 7
样例输出 Sample Output
620
数据范围及提示 Data Size & Hint
原机票价格大于100小于9999,打折率大于1小于9.9。
这题终于有情境了~~
不过我告诉你,仍然省略吐槽INF字~~~
对于本题,“折”的概念不予解释,主要操作就是一些运算~~
所用知识:trunc(x)返回浮点数x四舍五入后的整形数;round(x)返回浮点数x的整数部分(整形);
算法描述:
读入数据,将原价乘以折数除以10?由于我们面临抹掉个位零头的问题,干脆除以100!这样理应的个位到了十分位,咱们再把小数部分一截,它就变成了答案除以10的值。输出(这个数乘以10)?,我干脆输出这个数然后填个0~~~
PS:本题数据有点小毛病,实际答案不是四舍五入,而是直接抹零头。所以理应的trunc变成了round~~
Program asd; Var n,k:extended; ans:longint; Begin readln(n,k); k:=k*0.01; n:=n*k; ans:=round(n); writeln(ans,'0'); End.