m0_53355897 2021-05-13 20:58 采纳率: 100%
浏览 181
已采纳

麻烦大佬们帮我看看这道题的问题

问问大佬们我的代码哪里有问题,输入3000数据是对的,但是输入2000数据是错的

#include<stdio.h>
int main()
{
    int m;
    while(scanf("%d",&m)!=EOF)
    {
        double sum=m; 
        for(int i=47;i>0;i--)
        {
            sum= (sum+m)/(1 + 0.0171/12);
        } 
        printf("%.2lf\n",sum);
    }
    return 0;
}

原题是这样:

题目描述

父母为儿子大学四年生活费存了一笔钱,方式是整存零取, 规定儿子每月月底取走下月的生活费 M 元。现在假设银行的年利率是 1.71%,现在计算母亲至少存多少钱?(保留 2 位小数)

输入描述

多组输入,每组一个整数 M,代表每月的生活费。

输出描述

父母亲一次性要存入的生活费(保留 2 位小数)

样例输入

3000

2000

样例输出

139089.86

92726.58

  • 写回答

3条回答 默认 最新

  • 关注

    你最后一个月sum=m是直接赋值给sum了,没有算利息。

    你输入3000数据是139093.86也不对, 

    样例输出是 139089.86

    正确应该是:

    #include<stdio.h>
    int main()
    {
        int m;
        while(scanf("%d",&m)!=EOF)
        {
            double sum=0;
            for(int i=48;i>0;i--)
            {
                sum= (sum+m)/(1 + 0.0171/12);
            }
            printf("%.2lf\n",sum);
        }
        return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。