欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

计算存款本息(错误记录)

程序员文章站 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:
计算存款本息(错误记录)计算存款本息(错误记录)


解决方案:

将控制台输入的中文逗号改为英文逗号结果就正常了。
计算存款本息(错误记录)