算法练习-A+B/财务管理/实现四舍五入/牛牛的菱形字符(题目链接+题解打卡)

难度参考

        难度:简单

        分类:熟悉OJ与IDE的操作

        难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。

题目

A + B1. A + B - AcWing题库
财务管理1004:财务管理
实现四舍五入实现四舍五入
牛牛的字符菱形牛牛的字符菱形

题解

A+B

A+B流程图

        

#include <iostream>
#include <cstdio>

using namespace std;

int a,b;
int main(){
    cin>>a>>b;
    cout<<a+b<<endl;
    return 0;
}

        时间复杂度为O(1)。

        空间复杂度也是O(1)。

        本题据说还有十几种其他恶搞版题解,待学成之后仔细研究一下。

财务管理

财务管理流程图
#include <iostream>
#include <iomanip>  // 用于设置输出格式

using namespace std;

int main() {
    double sum = 0.0;  // 初始化总结余为0
    double balance;    // 用于存储每个月的结余

    for (int i = 0; i < 12; i++) {
        cin >> balance;  // 输入每个月的结余
        sum += balance;  // 累加到总结余中
    }

    double average = sum / 12.0;  // 计算平均月末结余
    // 设置输出格式,保留两位小数,并在前面加上"$"符号
    cout << fixed << setprecision(2) << "$" << average << endl;

    return 0;
}

        时间复杂度为O(1)。(循环次数固定)

        空间复杂度也是O(1)。

        使用iomanip库,可以直接用fixed去保留小数个数。

实现四舍五入

        使用cmath库的话,里面有直接的四舍五入的函数。

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double floatingNumber;
    cin >> floatingNumber;

    // 将浮点数四舍五入并转换为整数
    int roundedNumber = round(floatingNumber);

    cout << roundedNumber << endl;

    return 0;
}

         时间复杂度为O(1)。

        空间复杂度也是O(1)。

        不过常见的做法是利用加减0.5后强制转化后实现四舍五入。加减的原因是正数为加,负数为减。

四舍五入流程图
#include <iostream>
using namespace std;

int main() {
    float a;
    int b;
    cin >> a;

    // 判断浮点数的小数部分是否大于等于0.5
    if (a >= 0) {
        b = a + 0.5;
    } else {
        b = a - 0.5;
    }

    cout << b << endl;

    return 0;
}

         时间复杂度为O(1)。

        空间复杂度也是O(1)。

牛牛的字符菱形

        明显的懒鬼做法。

#include <iostream>
using namespace std;

int main() {
    char a;
    cin >> a;
    cout << " " << " " << a << " " << " " << endl;
    cout << " " << a << a << a << " " << endl;
    cout << a << a << a << a << a << endl;
    cout << " " << a << a << a << " " << endl;
    cout << " " << " " << a << " " << " " << endl;
}

        时间复杂度为O(1)。

        空间复杂度也是O(1)。

        动点脑子。

打印菱形流程图
#include <iostream>
using namespace std;

int main() {
    char ch;
    cin >> ch;

    // 上半部分菱形
    for (int i = 1; i <= 3; i++) {
        for (int j = 1; j <= 3 - i; j++) {
            cout << " ";
        }
        for (int j = 1; j <= 2 * i - 1; j++) {
            cout << ch;
        }
        cout << endl;
    }

    // 下半部分菱形
    for (int i = 2; i >= 1; i--) {
        for (int j = 1; j <= 3 - i; j++) {
            cout << " ";
        }
        for (int j = 1; j <= 2 * i - 1; j++) {
            cout << ch;
        }
        cout << endl;
    }

    return 0;
}

思路

  1. 首先,我们从用户那里接收一个字符作为输入,并将其存储在变量ch中。

  2. 然后,我们使用两个循环来打印菱形图案。上半部分的循环用于打印每一行的空格和字符,下半部分的循环用于打印下半部分的空格和字符。

  3. 对于上半部分的循环,我们使用一个外层循环来迭代打印每一行。循环变量i的范围是从1到3,即打印3行。每一行前面的空格的数量是3 - i,通过内层循环来输出。

  4. 内层循环使用变量j从1递增到(2 * i - 1)来打印每一行的字符(ch)。这是因为每一行的字符数量符合等差数列的规律,首项是 1,公差是 2。

  5. 上半部分的循环结束后,我们开始打印下半部分的菱形图案。这里我们使用一个外层循环来迭代打印每一行。循环变量i的范围是从2到1,即打印2行。每一行前面的空格的数量是3 - i,通过内层循环来输出。

  6. 内层循环同样使用变量j从1递增到(2 * i - 1)来打印每一行的字符(ch)。

  7. 最后,我们通过输出换行符来确保每一行之后都换行。

打卡

        A+B

        财务管理

        实现四舍五入

        牛牛的字符菱形

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言学习之字典(单词拆分)

实例要求&#xff1a; 1、给定字符串以及字符串列表作为字典&#xff1b; 2、判断是否可以利用字典中出现的单词拼接出字符串&#xff1b; 3、不要求字典中出现的单词全部都使用&#xff1b; 4、字典中的单词可以重复使用&#xff1b; 实例分析&#xff1a; 1、初始化数组…

对java的interface的理解

一个例子来让我们理解更加深刻 这是我们的整体文件布局 ①A是接口 ②B和C是用来实现接口的类 ③show是我们的运行函数&#xff0c;用来展示 A接口 接口中定义的方法可以不用去实现,用其他类去实现(必须实现) 关键字:interface public interface A { // public static …

Android Activity的启动流程(Android-10)

前言 在Android开发中&#xff0c;我们经常会用到startActivity(Intent)方法&#xff0c;但是你知道startActivity(Intent)后Activity的启动流程吗&#xff1f;今天就专门讲一下最基础的startActivity(Intent)看一下Activity的启动流程&#xff0c;同时由于Launcher的启动后续…

JavaEE学习笔记 2024-1-12 --Tomcat服务器、Servlet

JavaEE 个人整理非商业用途&#xff0c;欢迎探讨与指正&#xff01;&#xff01; JavaEE是企业级开发 是综合性非常强的阶段  包含的知识点:JavaSE,MySQL,JDBC,WEB(HTML,CSS,JS,前端框架),Servlet,JSP,XML,AJAX等技术 目录 JavaEE1.服务器2.Tomcat服务器2.1Tomcat的使用2.2Tom…

【驱动】I2C驱动分析(二)-驱动框架

I2C驱动框架简介 I2C 驱动属于总线-设备-驱动模型的&#xff0c;与I2C总线设备驱动模型相比&#xff0c;大体框架是一样&#xff0c;系统的整体框架如下所示。 最上层是应用层&#xff0c;在应用层用户可以直接用open read write对设备进行操作&#xff0c;往下是设备驱动层&a…

SpringBoot 中使用 Quartz 创建定时任务

文章目录 一、使用示例二、运行原理 一、使用示例 自定义 job&#xff1a; Slf4j public class MyJob extends QuartzJobBean {Overrideprotected void executeInternal(JobExecutionContext context) throws JobExecutionException {log.info("MyJob start...");l…

【unity】麦克风声音驱动,控制身体做出不同动作

1.在角色对象上挂在animator组件&#xff0c;并将动作控制器与其关联 2.在角色对象上挂在audio source组件。 3.新建voice control脚本&#xff0c;编写代码如下&#xff1a; using System; using System.Collections; using System.Collections.Generic; using UnityEngine;…

【OJ】牛客链表刷题

题目 1. 链表分割1.1 题目分析1.2 代码 2. 链表的回文结构2.1 题目分析2.2 代码 这里两道与链表有关的题目均来自牛客。 1. 链表分割 1.1 题目分析 因为这里代码不能选择用c语言写&#xff0c;所以选择用c,因为c兼容c。 题目要求分割链表&#xff0c;我们可以直接弄成两个带哨…

Codeforces Round 915 (Div. 2) D题 单调栈,特殊情况入手

Problem - D - Codeforces 目录 题意&#xff1a; 思路&#xff1a; 把0放后面&#xff1a; ———— 然后看懂下面思路&#xff0c;理解单调栈&#xff1a; 细节&#xff1a; 核心代码&#xff1a; 题意&#xff1a; mex指的是该数组缺的最小的自然数&#xff0c;例如…

2024最有发展潜力的代理项目!格行随身wifi代理项目分析测评,轻资产靠谱创业项目推荐

最近很多网友都有创业的想法&#xff0c;身边创业的朋友也不在少数&#xff0c;当然有成功的&#xff0c;也有亏的血本无归的。最近网上也有很多适合新手的创业或代理项目&#xff0c;什么单身经济啊&#xff0c;大健康啊还有创业圈一直在讨论的随身WiFi代理等。当然一些创投圈…

大文件的断点续传如何实现

断点续传 断点续传是一种数据恢复技术&#xff0c;主要用于在读取或发送数据时&#xff0c;因为网络问题、磁盘问题等原因导致数据传输中断。断点续传技术允许你在已经传输的数据基础上继续传输&#xff0c;从而节省数据传输时间。 断点续传通常用于文件传输过程中&#xff0c;…

由于找不到d3dcompiler_43.dll缺失,无法打开软件的解决方法分享

d3dcompiler43.dll是什么文件&#xff1f;为什么会出现丢失的情况&#xff1f;又该如何解决呢&#xff1f;本文将详细介绍d3dcompiler43.dll的作用和影响&#xff0c;并提供6个有效的解决方法。 一、d3dcompiler43.dll是什么文件&#xff1f; d3dcompiler43.dll是DirectX SDK…

SQL注入入门进阶_报错注入、延时注入、python脚本盲注

SQL注入入门进阶 学习目标 本篇文章入门SQL注入&#xff0c;除了回显的SQL注入还存在报错注入、布尔盲注和延时注入。如果sqlmap跑不出来的还可以使用burp intrude注入或者使用python编写脚本注入。 报错注入 concat() 函数的意思是讲&#xff0c;全部内容连成一个字符串&a…

书生·浦语大模型实战营第五节课笔记及作业

LMDeploy 大模型量化部署实践 1 大模型部署背景 1.1 模型部署及大模型特点 1.2 大模型部署挑战及方案 2 LMDeploy简介 2.1 核心功能-量化 2.2 核心功能-推理引擎TurboMind 2.1 核心功能-推理服务api server 3 动手实践及作业 按照文档LMDeploy 的量化和部署中的步骤在Intern…

【MIdjourney】一些材质相关的关键词

1.多维剪纸(Multidimensional papercut) "Multidimensional papercut"&#xff08;多维剪纸&#xff09;是一种剪纸艺术形式&#xff0c;通过多层次的剪纸技巧和设计来创造出立体感和深度感。这种艺术形式通常涉及在不同的纸层上剪裁不同的图案&#xff0c;并将它们…

鸿蒙开发-UI-布局-线性布局

鸿蒙开发-序言 鸿蒙开发-工具 鸿蒙开发-初体验 鸿蒙开发-运行机制 鸿蒙开发-运行机制-Stage模型 鸿蒙开发-UI 鸿蒙开发-UI-组件 鸿蒙开发-UI-组件-状态管理 鸿蒙开发-UI-应用-状态管理 鸿蒙开发-UI-渲染控制 鸿蒙开发-UI-布局 文章目录 前言 一、基本概念 二、布局子元素 1.子元…

大模型基础2

大模型基础2 第二章&#xff1a;大模型的能力 语言模型的适应性&#xff1a;从语言模型到任务模型的转化 语言模型转化为任务模型的过程称为"适应"&#xff1a; 任务的自然语言描述一组训练实例&#xff08;输入-输出对&#xff09; 进行适应的两个种方法&#xf…

OSI七层协议和五层协议

【 1 】互联网协议交互的基础 硬件设备 光缆 【 2 】OSI七层协议 物理层&#xff08;Physical Layer&#xff09;&#xff1a;负责传输比特流&#xff08;0和1&#xff09;以及物理连接的建立和维护。数据链路层&#xff08;Data Link Layer&#xff09;&#xff1a;提供可…

禅道下载安装及基本使用(项目周期管理)实施必会!!!

文章目录 前言&#xff1a;一、为什么要使用禅道&#xff1f;二、禅道的下载与安装 前言&#xff1a; 禅道的使用能使公司提高项目管理效率、促进团队协作、支持敏捷开发&#xff0c;并可根据具体需求进行个性化配置。 本文章博主将以一个项目周期来带你们了解禅道。 一、为什…

企业信息防泄漏管理的理念是什么?

在这个数字化的时代&#xff0c;信息数据的安全已经成为企业发展的关键要素。随着网络技术的飞速发展&#xff0c;信息安全的重要性日益凸显&#xff0c;它关乎企业的生死存亡。在企业的信息系统中&#xff0c;信息泄露是最常见和最严重的风险之一。因此&#xff0c;建立一套全…