C语言练习:该存多少钱

1.问题描述

  假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的五年中每年的年底取出1000元,到第五年时刚好取完,请算出他存钱时应该存入多少?

*问题分析和算法设计

分析存钱和取钱的过程,可以采用倒推的方法。

若第五年年底连本带利要取1000元,则要先求出第五年初银行存款的钱数:

              1000(第五年年底的本息)= 第五年年初存款*(1+12*0.0063);

              第五年年初存款 = 1000/(1 + 12*0.0063);

以此类推可以求出第四年、第三年......的年初银行存款的钱数:

            第四年年初存款 *(1+12*0.0063)= 第五年年初存款+1000;

            第四年年初存款 = (第五年年初存款+1000)/(1+12*0.0063);

            第三年年初存款 = (第四年年初存款+1000)/(1+12*0.0063);

            第二年年初存款 = (第三年年初存款+1000)/(1+12*0.0063);

            第一年年初存款 = (第二年年初存款+1000)/(1+12*0.0063);

                                     =  ((第三年年初存款+1000)/(1+12*0.0063)+1000)/(1+12*0.0063);

                                     = ((((第四年年初存款+1000)/(1+12*0.0063))+1000)/(1+12*0.0063)+1000)/(1+12*0.0063);

                                    = ((((((第五年年初存款+1000)/(1+12*0.0063))+1000)/(1+12*0.0063))+1000)/(1+12*0.0063)+1000)/(1+12*0.0063);

                                   = (((((((1000/(1 + 12*0.0063))+1000)/(1+12*0.0063))+1000)/(1+12*0.0063))+1000)/(1+12*0.0063)+1000)/(1+12*0.0063);

 

代码如下:

/*******************************************************************
 *   > File Name: 03-savaMoney.c
 *   > Author: fly
 *   > Mail: 1358326274@qq.com
 *   > Create Time: 2019年03月21日 星期四 12时59分53秒
 ******************************************************************/

#include <stdio.h>

int main(int argc, char* argv[])
{
    int i;
    float total = 0.0;

    for(i = 0; i<5; i++)
    {
        total = (1000.0 + total)/(1+0.0063*12);
    }
    printf("total = %.2f\n", total);

    return 0;
}

执行运算结果:total = 4039.44

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值