当前位置: 首页 > news >正文

模拟法——张三的零花钱(C#)

题目:张三的零花钱

        不知道你有没有零花钱?你是如何管理⾃⼰的零花钱的?张三总爱乱花钱。每个⽉的⽉初妈妈给张三300元钱 ,张三会预算这个⽉的花销,并且能做到实际的花销和预算相同。为了让张三学会对⾦钱的管理,妈妈提出,张三可以随时把整百的前存在她那⾥,到了12⽉31⽇,他会加上20 % 还给张三,也就是说,张三给妈妈的每⼀个100元,到年底都会变成120元!因此张三制定了⼀个存储计划: 每个⽉的⽉初,在得到妈妈给的零花钱后,如果他预计到这个⽉的⽉末⼿中还会有多于100元或恰好100元, 他就会把整百的钱存在妈妈那⾥,剩余的钱存在⾃⼰⼿⾥。⽐如11⽉初张三⼿中还有83元,妈妈留了张三300元。张三预计11⽉的花销是180元,那么他就会在妈妈那⾥存200元,⾃⼰留下183元。到了11⽉⽉末,张三⼿中会剩下3元钱。
        张三发现这个存储计划的主要⻛险是,存在妈妈那⾥的钱在年末之前不能取出。有可能在某个⽉的⽉初,张三⼿中的钱加上这个⽉妈妈给的钱,不够这个⽉的预算。如果出现这种情况,张三将不得不在这个⽉省吃简⽤,压缩预算。

        现在请你根据2019年1⽉到12⽉每个⽉张三的预算,判断会不会出现这种情况。如果储蓄计划实施过程中会出现某个⽉钱不够⽤的情况,输出-x,x表⽰出现这种情况的第⼀个⽉;如果不会,计算到2019年12⽉31⽇,妈妈将张三平时存的钱加上20%还给张三后,张三⼿⾥会有多少钱。
        样例输⼊ 240 280 200 300 120 350 80 50 270 260  200 300样例输出 - 7
        样例输⼊ 290 230 280 200 300 170 130 50 90 80 200 300  样例输出 1520

// 创建字符串数组赋值并转为整数数组
string str = Console.ReadLine();
string[] strArray = str.Split(' ');
int[] budget = new int[strArray.Length];
for(int j = 0; j < budget.Length; j++)
{int num = Convert.ToInt32(strArray[j]);budget[j] = num;
}
// 定义变量
int selfMoney = 0;// 定义张三的钱
int momMoney = 0;// 定义在妈妈手中张三的钱
int temp = 0;// 定义容器便于后面使用
int i;for ( i = 1; i < 13; i++)// 1~12月
{temp = 300 + selfMoney - budget[i - 1];// 除去预算 // budget[i - 1]是预算数组从0开始的momMoney += (temp / 100) * 100;// 上交妈妈的钱(每个月)selfMoney = temp % 100;// 剩余(每个月剩余的钱)if (temp < 0) // 某个月剩余的钱小于0时{break; // 停止,且不再执行这个循环}
}
if (temp < 0)
{Console.WriteLine("-" + i); // break后会执行这行代码
}else // 12个月中,每个月都会剩余钱将会执行这行代码
{selfMoney = selfMoney + (int)(momMoney * 1.2);// 计算1年下来存下来最终得到的钱Console.WriteLine(selfMoney);
}

相关文章:

  • 从零开始搭建React+TypeScript+webpack开发环境-基于lerna的webpack项目工程化改造
  • 立体库堆垛机控制程序手动功能实现
  • linux 下正确使用cp命令复制目录
  • QT windows与linux之间sokcet通信中文乱码问题解决方法
  • go学习之接口知识
  • 【ArcGIS Pro微课1000例】0031:las点云提取(根据范围裁剪点云)
  • 前、后端程序员开发常用api接口
  • SpringBoot 项目优雅实现读写分离 | 京东云技术团队
  • CTFhub-RCE-远程包含
  • Git企业开发级讲解(二)
  • 【uniapp】确认弹出框,选择确定和取消
  • File Upload
  • 深入理解 Spring Boot 内置工具类:ReflectionUtils
  • GPT 写作与改编
  • RabbitMQ 系列教程
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【前端学习】-粗谈选择器
  • 2017-08-04 前端日报
  • codis proxy处理流程
  • E-HPC支持多队列管理和自动伸缩
  • es6(二):字符串的扩展
  • git 常用命令
  • javascript 哈希表
  • JavaScript异步流程控制的前世今生
  • java概述
  • Mysql数据库的条件查询语句
  • PaddlePaddle-GitHub的正确打开姿势
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 记一次和乔布斯合作最难忘的经历
  • 简单数学运算程序(不定期更新)
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端面试总结(at, md)
  • 深度学习中的信息论知识详解
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用common-codec进行md5加密
  • 正则表达式
  • 正则表达式小结
  • 阿里云ACE认证之理解CDN技术
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • #预处理和函数的对比以及条件编译
  • $refs 、$nextTic、动态组件、name的使用
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (ibm)Java 语言的 XPath API
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (生成器)yield与(迭代器)generator
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (转载)从 Java 代码到 Java 堆
  • .bat批处理出现中文乱码的情况
  • .gitignore
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .Net 应用中使用dot trace进行性能诊断