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

news2024/10/6 8:38:37

目录

一,问题 

 二,思路

 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.coloradmin.cn/o/1886141.html

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

相关文章

【启明智显技术分享】SSD202D核心板方案双网口SBC2D06开发板开箱与实操全攻略上手指南

一、背景 本指南将详细介绍启明智显基于SSD202D核心板方案下的双网口-SBC2D06的开箱及实操上手应用。无论您是电子爱好者、开发者还是工程师&#xff0c;这份指南都能助您快速上手并充分利用这款双网口开发板的各项功能。 二、硬件介绍 SBC2D06双网口开发板&#xff0c;作为…

分布式链路追踪Micrometer Tracing和ZipKin基础入门与实践

【1】概述 在分布式与微服务场景下&#xff0c;我们需要解决如下问题&#xff1a; 在大规模分布式与微服务集群下&#xff0c;如何实时观测系统的整体调用链路情况。 在大规模分布式与微服务集群下&#xff0c;如何快速发现并定位到问题。 在大规模分布式与微服务集群下&…

SpringBoot 中的参数校验:构建健壮应用的基石

前言 在开发Web应用时&#xff0c;处理用户输入是不可避免的一环。然而&#xff0c;用户输入往往充满不确定性&#xff0c;可能是格式不正确、类型不匹配&#xff0c;甚至包含恶意内容。为了确保应用的稳定性和安全性&#xff0c;对输入参数进行有效校验显得尤为重要。Spring …

Vue3 特点以及优势-源码解剖

Vue3 特点以及优势-Vue3.4源码解剖 Vue3 特点以及优势 1.声明式框架 命令式和声明式区别 早在 JQ 的时代编写的代码都是命令式的&#xff0c;命令式框架重要特点就是关注过程声明式框架更加关注结果。命令式的代码封装到了 Vuejs 中&#xff0c;过程靠 vuejs 来实现 声明式代…

微软与OpenAI/谷歌与三星的AI交易受欧盟重点关注

近日&#xff0c;欧盟委员会主管竞争事务的副主席玛格丽特维斯塔格(Margrethe Vestager)在一次演讲中透露&#xff0c;欧盟反垄断监管机构将就微软与OpenAI的合作&#xff0c;以及谷歌与三星达成的AI协议寻求更多第三方意见。这意味着微软与 OpenAI、谷歌与三星的 AI 交易及合作…

数据库操作-DML和DQL

DML DML英文全称是Data Manipulation Language(数据操作语言)&#xff0c;用来对数据库中表的数据记录进行增、删、改操作。 添加数据&#xff08;INSERT&#xff09; 1.指定字段添加数据&#xff1a; insert into 表名 ( 字段名 1, 字段名 2) values ( 值 1, 值 2); 2…

守望先锋2卡顿/丢包?守望先锋2延迟高怎么降低

守望先锋2/ow2新赛季已经上线&#xff0c;想必很多玩家都已经进入游戏体验过&#xff0c;新的主题英雄和Push地图和改版后的斗兽场玻璃墙。不过虽然新赛季内容满满&#xff0c;有趣又好玩&#xff0c;但是架不住服务器拉跨&#xff0c;近期也有不少玩家吐槽新赛季问题频发&…

短信接口平台的核心功能有哪些?如何使用?

短信接口平台怎么有效集成&#xff1f;选择短信接口平台的技巧&#xff1f; 短信接口平台作为一种重要的通信工具&#xff0c;广泛应用于各种企业和组织。通过短信接口平台&#xff0c;企业能够高效、便捷地与客户进行互动和沟通。AoKSend将详细介绍短信接口平台的核心功能。 …

【博主推荐】HTML5实现简洁好看的个人简历网页模板源码

文章目录 1.设计来源1.1 主界面1.2 关于我界面1.3 工作经验界面1.4 学习教育界面1.5 个人技能界面1.6 专业特长界面1.7 朋友评价界面1.8 获奖情况界面1.9 联系我界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c…

大模型技术在辅助学习中的应用

大模型技术在辅助学习中的应用场景非常广泛&#xff0c;以下是一些典型示例。大模型技术在辅助学习中具有广阔的应用前景&#xff0c;可以为学生提供更加个性化、智能化和高效的学习体验。随着大模型技术的不断发展&#xff0c;我们可以期待在未来看到更多创新应用。北京木奇移…

bmob Harmony鸿蒙快速开发搜索功能

搜索功能是很多应用都需要的功能。在很多平台上&#xff0c;要开发一个兼容性较好的搜索功能都还是需要添加比较多的视图代码的。 为了解决这个问题&#xff0c;鸿蒙ArkUI提供了一个快速添加搜索功能的视图组件给我们&#xff0c;结合Bmob Harmony鸿蒙SDK的搜索能力&#xff0…

Spark2.0

目录 10.3 Spark运行架构 10.3.1 基本概念 10.3.2 架构设计 ​编辑 10.3.3 Spark运行基本流程 Spark运行架构特点 10.3 Spark运行架构 10.3.1 基本概念 RDD &#xff1a;是 Resillient Distributed Dataset &#xff08;弹性分布式数据集&#xff09;的简称&#xff0c;是分…

前端开发中的常见问题及解决方法

前端开发是一个充满挑战和乐趣的领域。然而&#xff0c;在开发过程中&#xff0c;开发者常常会遇到各种各样的问题。本文将介绍一些前端开发中常用或者经常遇到的问题&#xff0c;并提供相应的解决方法&#xff0c;帮助你提高开发效率和解决问题的能力。 一. 页面布局问题 问题…

git 禁止dev合并到任何其他分支

创建 pre-merge-commit 钩子 导航到 Git 仓库的钩子目录&#xff1a; cd /path/to/your/repo/.git/hooks创建或编辑 pre-merge-commit 钩子&#xff1a; 也可以通过指令创建 nano pre-merge-commit在钩子文件中添加以下代码&#xff1a; #!/bin/sh# 获取当前分支名称 curr…

Audition 2024 for Mac/Win:音频处理的极致艺术

Adobe Audition 2024是一款面向Mac和Windows用户的顶级音频录制和编辑软件&#xff0c;以其卓越的性能和丰富的功能&#xff0c;满足了专业音乐制作、音频后期处理、播客录制等多个领域的需求。 Audition 2024提供了全面的音频处理功能&#xff0c;包括高效的录音、混音、编辑…

精密仪器中微型丝杆延长使用寿命的技巧!

微型丝杆是现代小型化机械中常用的传动元件&#xff0c;其具有高精度、高刚性、高效率等特点。被广泛应用在各种精密仪器当中&#xff0c;如&#xff1a;激光打印机、光学仪器、显微镜、高精度相机、医疗器械、智能家居、机器人等设备&#xff0c;可见在制造业中有无可替代的作…

CredSSP 远程执行代码漏洞(CVE-2018-0886)漏洞处理过程

Microsoft Windows CredSSP 远程执行代码漏洞(CVE-2018-0886)【原理扫描】 此漏洞被定级为高危漏洞&#xff0c;因此需要修复处理&#xff01; 【处理建议一】 凭据分配修改Oracle修正 运行 --> gpedit.msc --> 本地组策略编辑器 计算机配置 --> 管理模板 --> …

动手RAG: ocr调研

对于rag应用来说&#xff0c;文档是第一步&#xff0c;对于部分扫描件的文件来讲&#xff0c;主要就需要OCR. OCR tesseractppocrmmocr OCR包含几类&#xff0c; 自然场景中的文字识别&#xff0c;文档中的文字识别pipeline: 文本检测&#xff0c;文本识别&#xff0c;文…

巴比达内网穿透:深度剖析其在解决远程连接挑战中的技术优势

在信息技术日新月异的今天&#xff0c;远程协作与管理的需求日益增长&#xff0c;但内网环境的隔离性一直是横亘在高效远程操作面前的一道坎。本文将深入探讨一款专为打破此壁垒而生的工具——巴比达内网穿透&#xff0c;如何以其技术创新和高效性能&#xff0c;成为解决远程连…

每日一题——Python实现蓝桥杯 单词分析(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 代码分析 时间复杂度分析 空间复杂度分析 总结 我要更强 方法一&#x…