薪金问题中的四舍五入算法的实现

来源:互联网 发布:mysql数据库存储过程 编辑:程序博客网 时间:2024/05/23 07:25

在学校oj中做题的时候,遇到一道这样的问题需要对数值做四舍五入计算

Description
销售人员的底薪是200元/周 + 销售金额的提成(9%)。例如A本周卖出5000元,其工资为200 + 5000 * 9% = 650元。

Input
输入有多组数据,每一行包含一个整数,代表某销售人员本周的销售金额;
当销售金额为-1的时候表示输入结束,不需要被处理。

Output
一行一个,输出所有销售人员的工资,【四舍五入】到元。

Sample Input
5000
6000
10000
-1

Sample Output
650
740
1100

在网上搜了一下,关于四舍五入算法的实现有这么几种

(1)
float a = 3.456; //保留到小数点后两位
float b =(int)((a * 100) + 0.5) / 100.0;

(2)
float f = ….. ;
int i = (int)(f + 0.5);
i就是f四舍五入的结果。

对于这道题的代码如下:

#include <stdio.h>void main(){    int money,paymoney;    float pay;    while(1)    {        scanf("%d",&money);        if(money==-1)          break;        pay=200+money*0.09;        paymoney=(int)(pay+0.5);        printf("%d\n",paymoney);    }} 
0 0
原创粉丝点击