c++习题06-ljc的储蓄计划

目录

一,问题 

 二,思路

 1,思路1

2,思路2

三,代码 

1,思路1代码

2,思路2代码 

四,用例输入输出 


一,问题 

 二,思路

 1,思路1

  1.  定义变量:①两个int型变量a(ljc每一个月的预算),ind(存放出现ljc第一次出现大手大脚的月份)②两个double类型变量cz(ljc存在自己身上的钱),cm(ljc存在妈妈那里的钱)③一个bool类型变量flag(用于程序最后判断该输出哪个内容)
  2. 使用for循环语句连续输入12个月份中ljc的不同预算a
  3. 将ljc的预算a分成四个部分:小于等于100(ljc可以自己存100-a即cz+=100-a,给妈妈200即cm+=200),大于100小于等于200(ljc可以自己存200-a,给妈妈100),大于200小于等于300(ljc可以自己存300-a,给妈妈0元),大于300(ljc需要自己判断一下,自己存的钱加上妈妈每一个月给的钱,是不是能够支付得了300+的预算,如果不能,让立起来的小旗子倒下,flag=0,并且让ind索引存放ljc第一次出现大手大脚的月份,需要注意的是,在存钱过程中,ljc可能有多次大手大脚钱不够的情况,但是我只要它返回出现第一次钱不够的月份,需要flag倒下之后ind变量只进行一次赋值,所以需要进行判读,如果ind不等于0,表示ind被赋值过,此时ind不做任何修改,ind=ind,否则就将ind赋值为i+1)
  4. 最后根据旗帜是不是立着的,输出不同不同的内容:①如果旗帜flag=1,旗帜立着,表示ljc没有大手大脚,年末能够得到妈妈给的钱还有自己存的钱。②反之,ljc在某一月大手大脚,旗帜倒下,flag=0,输出第一次开始大手大脚的月份。程序输出内容:“-第一次出现大手大脚的月份”。

2,思路2

  1. 定义变量:①两个int型变量a(ljc每一个月的预算),ind(存放出现ljc第一次出现大手大脚的月份),flag(用于程序最后判断该输出哪个内容)②两个double类型变量cz(ljc存在自己身上的钱),cm(ljc存在妈妈那里的钱)
  2. 使用for循环语句连续输入12个月份中ljc的不同预算a
  3. 在每一次输入a之后,都需要判断ljc存在自己手上的钱cz加上妈妈每一个月给的钱mg是否大于预算a,如果大于预算a,表示ljc这个月出现了大手大脚的情况,这个时候需要让旗帜flag倒下,并且给个索引变量ind存储当前月份(需要注意的是,在存钱过程中,ljc可能有多次大手大脚钱不够的情况,但是我只要它返回出现第一次钱不够的月份,需要flag倒下之后ind变量只进行一次赋值,所以需要进行判读,如果ind不等于0,表示ind被赋值过,此时ind不做任何修改,ind=ind,否则就将ind赋值为i+1)
  4. 第三步中,ljc大手大脚,但是如果ljc没有大手大脚,存的钱够预算的开支,我就得需要将ljc存的钱减去预算(cz=cz-a),就是ljc自己手上还剩的钱,当ljc存的钱cz有100块钱了,就可以存妈妈那里,这个时候需要加上while循环判断(while循环判断结束的标志为ljc的存的钱cz小于100的时候),如果存在ljc身上的钱有100块钱了,那么就将100给妈妈(cm+=100,cz-=100)。
  5. 最后根据旗帜是不是立着的,输出不同不同的内容:①如果旗帜flag=1,旗帜立着,表示ljc没有大手大脚,年末能够得到妈妈给的钱还有自己存的钱。②反之,ljc在某一月大手大脚,旗帜倒下,flag=0,输出第一次开始大手大脚的月份。程序输出内容:“-第一次出现大手大脚的月份”。

相应的流程图如下:

如果觉得上面的流程图有可以改进的地方请在评论区留言或者是私信我,我一定改。 

三,代码 

1,思路1代码

#include<bits/stdc++.h>
using namespace std;
int main()
{int a,flag=1,ind=0;double cz=0,cm=0;for(int i=0; i<12; i++){cin>>a;if(a<=100){cz+=100-a;cm+=200;}else if(a>100 & a<=200){cz+=200-a;cm+=100;}else if(a>200 & a<=300){cz+=300-a;cm+=0;}else if(a>300){if(cz+300<a){flag=0;if(ind==0) ind=i+1;else ind=ind;}else{cz=cz+300-a;cm+=0;}}if(cz>=100){cz-=100;cm+=100;}}if(flag==0) cout<<'-'<<ind;else cout<<(cm*1.2+cz);return 0;
}

2,思路2代码 

 思路2的代码仅供参考,因为我第一次提交的是思路1的代码,ac通过之后不能再次提交,只能自己运行测试用例,我尝试了可能的几个测试点,都没有问题,如果有人在提交后出现部分通拓的,请在评论区留言或者是私信我,回复时间不超过一天。

#include<bits/stdc++.h>
using namespace std;
int main()
{int a,ind;double cz=0,cm=0,mg=300;bool flag=1;for(int i=0; i<12; i++){cin>>a;if(cz+mg<a){flag=0;if(ind!=0) ind=ind;else ind=i+1;}else{cz+=(300-a);while(cz>100){cm+=100;cz-=100;}}}if(flag==1) cout<<cm*1.2+cz;else cout<<'-'<<ind;return 0;
}

相关测试用例图片如下: 

自己输入的数据测试也成功👇 

四,用例输入输出 

用例输入1       

290
230
280
200
300
170
340
50 
90 
80 
200
60

用例输出1

-7

用例输入2

290
230 
280 
200 
300 
170 
330 
50 
90 
80 
200 
60 

用例输出2

1580

有问题请在评论区留言或者是私信我,回复时间不超过一天。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

统计是一门艺术(非参数假设检验)

1.定义 当总体分布未知&#xff0c;那么就需要一种与分布具体数学形式无关的统计推断方法&#xff0c;称为非参数方法 只能利用样本中的一般信息包括位置和次序关系等 稳健性强 2.符号检验 考虑问题&#xff1a; 小样本情况&#xff1a; 以概率为1/2的二项分布是对称的 两…

剖析DeFi交易产品之UniswapV3:交易路由合约

本文首发于公众号&#xff1a;Keegan小钢 SwapRouter 合约封装了面向用户的交易接口&#xff0c;但不再像 UniswapV2Router 一样根据不同交易场景拆分为了那么多函数&#xff0c;UniswapV3 的 SwapRouter 核心就只有 4 个交易函数&#xff1a; exactInputSingle&#xff1a;指…

Java技术栈总结:kafka篇

一、# 基础知识 1、安装 部署一台ZooKeeper服务器&#xff1b;安装jdk&#xff1b;下载kafka安装包&#xff1b;上传安装包到kafka服务器上&#xff1a;/usr/local/kafka;解压缩压缩包&#xff1b;进入到config目录&#xff0c;修改server.properties配置信息&#xff1a; #…

Buuctf之SimpleRev做法

首先&#xff0c;查个壳&#xff0c;64bit&#xff0c;那就丢进ida64中进行反编译进来之后&#xff0c;我们进入main函数&#xff0c;发现里面没什么东西&#xff0c;那就shiftf12搜索字符串&#xff0c;找到关键字符串&#xff0c;双击进入然后再选中该字符串&#xff0c;ctrl…

Python爬取股票信息-并进行数据可视化分析,绘股票成交量柱状图

为了使用Python爬取股票信息并进行数据可视化分析&#xff0c;我们可以使用几个流行的库&#xff1a;requests 用于网络请求&#xff0c;pandas 用于数据处理&#xff0c;以及 matplotlib 或 seaborn 用于数据可视化。 步骤 1: 安装必要的库 首先&#xff0c;确保安装了以下P…

【C语言】指针(1):入门理解篇

目录 一、内存和地址 1.1内存 1.2 深入理解计算机编址 二、指针变量和地址 2.1 取地址操作符&#xff08;&&#xff09; 2.2 指针变量和解应用操作符 2.2.1 指针变量 2.2.2 解引用操作符 2.3指针变量的大小 三、指针变量类型的意义 3.1 指针的解引用 3.1指针-整数…

Micron近期发布了32Gb DDR5 DRAM

Micron Technology近期发布了一项内存技术的重大突破——一款32Gb DDR5 DRAM芯片&#xff0c;这项创新不仅将存储容量翻倍&#xff0c;还显著提升了针对人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&#xff09;、高性能计算&#xff08;HPC&#xff09;以及数…

2024年最新运维面试题(附答案)

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号&#xff1a;网络豆云计算学堂 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a; 网络豆的主页​​​​​ 一&#xff0e;选择题 1.HTTP协议默认使用哪个端口…

科普文:构建可扩展的微服务架构设计方案

前言 微服务架构是一种新兴的软件架构风格&#xff0c;它将单个应用程序拆分成多个小的服务&#xff0c;每个服务都运行在自己的进程中&#xff0c;这些服务通过网络进行通信。这种架构的优势在于它可以提高应用程序的可扩展性、可维护性和可靠性。 在传统的应用程序架构中&…

高效管理个人日程,智慧校园行政办公全指南

在智慧校园的行政办公体系里&#xff0c;个人日程管理功能担当起协调与优化每位教职员工日常安排的角色&#xff0c;它像一位贴心的时间助理&#xff0c;确保工作与私人生活的和谐并进。这一功能设计得既直观又灵活&#xff0c;让使用者能以自己偏好的视角审视时间规划&#xf…

创新配置,秒级采集,火爆短视频评论抓取

快速采集评论数据的好处 快速采集评论数据是在当今数字信息时代的市场趋势分析和用户反馈分析中至关重要的环节。通过准确获取并分析大量用户评论&#xff0c;您将能够更好地了解消费者的需求、情感和偏好。集蜂云采集平台提供了一种简单配置的方法&#xff0c;使您能够快速采…

Deep Filtered Back Projection for CT Reconstruction

CT重建中的深度滤波反投影 论文链接&#xff1a;https://ieeexplore.ieee.org/document/10411896 项目链接&#xff1a; ABSTRACT 滤波反投影(FBP)是一种经典的计算机断层扫描(CT)重建解析算法&#xff0c;具有很高的计算效率。然而&#xff0c;用FBP重建的图像往往存在过多…

NATAPP内网穿透使用

1. natapp能干嘛 可以将本地的内网ip映射到外网上&#xff0c;远程访问该连接&#xff0c;实现外网展示网站。平时做的应用开发都只能在局域网本地访问&#xff0c;通过内网穿透&#xff0c;可以通过外网进行访问。 2. 注册用户 网址&#xff1a;https://natapp.cn/自行完成…

什么是 Elasticsearch 数据预热?

引言&#xff1a;在现代的信息检索和数据分析领域&#xff0c;Elasticsearch 已经成为一个广泛应用的分布式搜索和分析引擎。作为开源项目的一部分&#xff0c;Elasticsearch 提供了强大的实时搜索和分析能力&#xff0c;使得处理大规模数据变得更加高效和可靠。然而&#xff0…

Canary,三种优雅姿势绕过

Canary&#xff08;金丝雀&#xff09;&#xff0c;栈溢出保护 canary保护是防止栈溢出的一种措施&#xff0c;其在调用函数时&#xff0c;在栈帧的上方放入一个随机值 &#xff0c;绕过canary时首先需要泄漏这个随机值&#xff0c;然后再钩爪ROP链时将其作为垃圾数据写入&…

对接海康sdk-linux下复制jar包中resource目录的文件夹

背景 在集成海康sdk时,需要将一些组件放到项目中作为静态资源,并且海康的sdk初始化也需要加载这些静态资源,在windows下,使用一些File路径的方式是可以正确加载的,但是在linux上就会加载失败。 首先我是将海康的sdk组件放到resource下的,并且按照windows和linux设置了两…

轻松快速上手Thekey库,实现数据加密无忧

Thekey的概述&#xff1a; Thekey库是一个Python库,旨在简化数据加密、解密、签名和验证的过程。它提供了一套简洁易用的接口,用于处理各种加密任务,适合需要在应用程序中实现安全数据处理的开发人员. 安装Thekey库 pip install thekey使用Thekey库进行基本加密和解密操作的…

【笔记】TimEP Safety Mechanisms方法论

1.TimEPM Overview 三大监控方法: Alive Supervision 实时监督Logical Supervision 逻辑监督Deadline Supervision 限时监督相关模块框图: 相关模块调用框图: 每个MCU核开启内狗(1核1狗),内狗用于监控相应核的TASK超时,超时后软reset MCU内狗时钟需要独立于OS时钟,两…

C++下Protobuf学习

C下Protobuf简单学习 Protobuf&#xff08;Protocol Buffers&#xff09;协议是一种由 Google 开发的高效的、跨语言的、平台无关的数据序列化协议&#xff0c;提供二进制序列化格式和相关的技术&#xff0c;它用于高效地序列化和反序列化结构化数据&#xff0c;通常用于网络通…

DDR3(三)

目录 1 预取1.1 什么是预取1.2 预取有哪些好处1.3 结构框图1.4 总结 2 突发2.1 什么是突发2.2 突发与预取 本文讲解DDR中常见的两个术语&#xff1a;预取和突发&#xff0c;对这两个概念理解的关键在于地址线的低位是否参与译码&#xff0c;具体内容请继续往下看。 1 预取 1.1…