计算存款本息(错误记录)
程序员文章站
2022-07-15 10:38:22
...
项目场景:
计算银行存款的本息。输入存款金额money、存期year、年利率rate,根据下列公式计算存款到期时的本息合计sum(税前),输出时保留两位小数。
问题描述:
在程序编写完成后,编译并没有出错,但是在运行程序时得到的结果却是错误的,出现了逻辑错误。本息一直等于原来输入的本金(也就是sum等于money)。
源代码:
#include<stdio.h>
#include<math.h>
int main(){
float money,rate,sum;
int year;
printf("Please input money,year,rate\n");
scanf("%f,%d,%f",&money,&year,&rate);
sum = money*pow(1+rate,year);
printf("sum=%.2f\n",sum);
return 0;
}
数据1:
数据2:
原因分析:
原来是在控制台中输入的时候使用了中文的逗号,使得年利率rate始终等于0,而存期year始终等于4,所以最终的结果sum就没有发生变化。
调试1:
调试2:
解决方案:
将控制台输入的中文逗号改为英文逗号结果就正常了。
上一篇: mybatis的配置文件(mybatis.xml)中typealiases
下一篇: Mybatis细节处理之mapper.xml的存放,properties配置文件,类型别名以及创建log4j配置文件
推荐阅读