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

项目场景:

计算银行存款的本息。输入存款金额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:
数据输入程序调试


解决方案:

将控制台输入的中文逗号改为英文逗号结果就正常了。
数据输入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值