想问一下我代码为什么得不到想要的结果

想问一下我代码为什么得不到想要的结果,我这个运行出来怎么是零呢?代码如下

img

我的代码题目如下

img


我写的代码结果如下

img

可以帮我看看问题出在哪里呢吗?谢了!

代码整体是没有问题的,有一些细节问题,你可以看看:
首先:你定义的deposit是整数型,最后的printf你想输出浮点数,自然是行不通的,修改一下。
其次:循坏中的语句需要修改一下,不然得到的答案将会是错误的,你可以看看我的修改。

img


期待你的采纳

年利率都才5%,一个月本金就翻倍了?

以下是修改后的代码:


#include <stdio.h>

int main()
{
    int deposit, month;
    float rate;
    scanf("%d,%f,%d", &deposit, &rate, &month);
    int i;
    float interest, balance;
    interest = deposit * rate / 12;
    balance = deposit;
    for (i = 1; i <= month; i++)
    {
        balance += interest;
        interest = balance * rate / 12;
    }
    printf("%.2f", balance);
    printf("\n%.2f", balance - deposit);
    return 0;
}

修改的原因:

  1. rate应该是float类型,不是int类型。
  2. 在计算本金和利息的时候,应该分开计算,而不是将利率加到本金上。
  3. 在循环中,应该先计算余额,再计算利息。
  4. 最后输出余额和利息差距。