求解此题,四舍五入问题,用了round(x0.03100)/100;来保留两位小数,但输入样例,输出的是3.01,并没有起到四舍五入的效果;
而直接用round(301.5)/100;则可以得到3.02,请问一下这是什么原因
供参考:
#include <stdio.h>
int main()
{
int n;
double x, total, interest;
scanf("%lf%d", &x, &n);
switch(n){
case 1: interest = n * x * 0.030; break;
case 2: interest = n * x * 0.033; break;
case 3: interest = n * x * 0.038; break;
case 4: interest = n * x * 0.040; break;
default:interest = n * x * 0.042; break;
}
interest = (interest * 100 + 0.5) / 100.0;
total = x + interest;
printf("interest=%.2f, total=%.2f", interest, total);
return 0;
}
对啊,四舍五入啊,100*0.03100,当然是3.01
100*0.03150才能进位