抽疯的王老六 2023-04-21 16:48 采纳率: 100%
浏览 17
已结题

关于#学习#的问题,如何解决?(语言-c++)

108886.津津的储蓄计划
难度入门
内存128MB
时间1000ms
题目描述
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。 例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。 现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

输入格式
包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。

输出格式
只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。

输入输出测试点
输入 #1
复制
290
230
280
200
300
170
340
50
90
80
200
60
输出 #1
复制
-7

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int money=0,budget[12],month=0,mum=0;
    for(int i=0;i<12;i++)
    {
        cin >> budget[i];
    }
    for(int i=0;i<12;i++)
    {
        month++;
        money+=300;
        if(money-budget[i]<0)
        {
            cout << "-" << month;
            return 0;
        }
        else
        {
            money-=budget[i];
        }
        if(money>=100)
        {
            mum=mum+(money-money%100);
            money=money%100;
        }
    }
    cout << mum+mum*0.2;
    return 0;
}

怎么错了??

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-21 18:48
    关注
    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/1055263
    • 除此之外, 这篇博客: C语言实现八大排序算法详解及其性能之间的中的 我们老师给我们花了100个星星的重要,那就是非常重要,快速排序。名字就很嚣张。。。言归正传,快排采用了分治算法。把大问题,分解成小问题。首先我们先找一个基准值,基准值的寻找法,有很多,这里我先用一个取边上值得方法,找到基准值以后呢拿着这个基准值和所有数组比较,使这个数组中比基准值小的都放左边,比基准值大的都放到右边,然后就把原来数组分成三块,中间基准值,左边都是比它小的,右边都是比它大的。然后这两个数组,继续分,一直分。直到他的终止条件,也就是小数组有序了就停止,那么什么时候有序停止呢?小区间长度为1或者长度为0的时候,就是有序了。所有小数组都有序了,那么就是整个数组有序了。只是原理,那么问题,又来了,怎么放左放右呢?我目前会三种。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 算法思想

    • 以下回答由chatgpt基于相关博客总结生成:

      由于题目较为简单,直接给出Python实现:

      money = 300  # 初始金额
      lack_month = 0  # 记录钱不够用的月份
      for i in range(1, 13):
          budget = int(input())  # 读入每个月的预算
          money += 300 - budget  # 更新剩余金额
          if money < 0:  # 月底钱不够用
              lack_month = -i  # 记录钱不够用的月份,记得加负号
              break
          if money >= 100:  # 取整百的钱存在母亲那里
              money -= money // 100 * 100
      if lack_month == 0:  # 没有出现钱不够用的情况
          money *= 1.2  # 加上20%的利息
          money = int(money)  # 取整
          print(money)
      else:  # 出现钱不够用的情况
          print(lack_month)
      

      具体实现很简单,读入每个月的预算,更新剩余金额。如果月底钱不够用,记录钱不够用的月份即可。如果没有出现钱不够用的情况,将剩余金额加上20%的利息,取整输出即可。如果出现钱不够用的情况,输出记录的钱不够用的月份。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月21日

悬赏问题

  • ¥15 uniapp 安卓开发
  • ¥15 Qemu相关,现在我想写一个自定义的I/O接口芯片,想使用qemu进行模拟验证
  • ¥15 企业 IOS App 上架
  • ¥15 wpf中combobox的选项恢复为原来的值
  • ¥15 ue5编辑器的在线的模型导入
  • ¥100 minio依赖安装报错问题
  • ¥15 求解决为什么json数据完整,却解析失败
  • ¥15 打开Smart schedule运行examples/transformer-xl/scripts/run_enwik8_base_moe.sh 报错
  • ¥15 求一个C# sm4 加密解密的代码
  • ¥20 centos7下载mysql提示DNS解析异常