小明过年挣了些压岁钱,他打算把这些钱存到银行。银行存款年利率如下,存的时间越长,每年的利率越高。小明可以按不同的年限存款,请帮小明计算到期后的利息和本金。
1年期3%;
2年期3.3%;
3年期3.8%;
4年期4.0%;
5年及以上4.2%。
输入描述
输入两个数,第一个是存款本金,第二个存款年数。
输出描述
输出到期后的利息和总金额,保留两位小数,具体格式见示例输出。
用例输入 1
100.5 1
用例输出 1
interest=3.02, total=103.52
代码如下
#include<stdio.h>
int main(){
float b;int n,i;
float interest,total;
scanf("%f %d",&b,&n);
if(n==1) interest=b*0.03;
else if(n==2) interest=b*2*0.033;
else if(n==3) interest=b*3*0.038;
else if(n==4) interest=b*4*0.04;
else if(n>=5) interest=b*n*0.042;
total=b+interest;
printf("interest=%.2f,total=%.2f\n",interest,total);
}
输出结果我不知道为什么我是interest=3.02, total=103.51,
我如果不保留小数结果是interest=3.015000,total=103.514999,
为什么total=b+interest;这种float型相加是这种结果,请帮我解答一下,谢谢