数组学习后记——递归

news2024/11/28 14:12:10
  • 数组这块学得有点乱,条理性欠佳。这次正好总结一下。
  • 上周的课堂内容没有更新, 因为小白自己也还没来得及吸收呢qwq。
  • 也解释一下为什么文中有这么多例题。
  • 因为我呢喜欢就着题去分析和学习,直接灌输知识不太能理解,有例子就能及时检验和应用了的。

 先看看B3817

基础的双数组问题。分别定义两个数组,注意赋初值。

#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
int a[3][5050];
int main()
{
	int M,N,sum=0,kuang=0;
	cin>>N>>M;
	for(int i=1;i<=5000;i++) a[2][i]=-1;//把所有分数设成-1。
	for(int i=1;i<=N;i++) cin>>a[1][i];//输入全部课程代码。
	int x,y;
	for(int i=1;i<=M;i++)
	{
		cin>>x>>y;
		for(int j=1;j<=N;j++)
		{
			if(a[1][j]==x) a[2][j]=y;//第一个数是课程代码,第二个是分数。
		}
	}
	for(int i=1;i<=N;i++)
	{
		if(a[2][i]<60) sum++;
		if(a[2][i]==-1) kuang++;//因为初始值是-1,如果依旧是-1意味着旷考。
	}
	cout<<kuang<<endl<<sum;
	return 0;
}

 通过B2190回忆下字符串

#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
int main()
{
	string s;
	getline(cin,s);
	//cin输入时遇到空格就会停止,为了避免此问题引入getline函数。
	//getline函数可以读取整行,包括前面和中间的空格,并将其存储在字符串对象中。
	int num=0;
	for(int i=0;i<=s.length()-1;i++)//size()和length():返回string对象的字符个数,他们执行效果相同
	{
		if(s[i]>='0'&&s[i]<='9') num++;//注意字符要用单引号圈出来。
    //用“”时代表字符串,其中最后一项时\0;但是‘’代表单一字符。
	}
	cout<<num;
	return 0;
}

用P5733练习一下

#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
int main()
{
	string s;
	cin>>s;
	for(int i=0;i<=s.length()-1;i++){
		if(s[i]>='a'&&s[i]<='z') cout<<char(s[i]-32);
		else cout<<s[i];
	}
	return 0;
}
  •  这里s.length()-1是循环的-1。

string没有\0的概念,从头到尾循环要减1的原因,是因为下标是从0开始的,即:对于一个string字符串,它的第一个字符是s[0];如果它的长度是n,最后一个字符就是s[n-1]。

  •  c++string没有\0;\0是c语言中的字符数组字符串,比如char s[100],这是两个不同的东西。

B2135

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef struct Node node;
int main(int argc , char *argv[])
{
 	string s,a,b,t;
	int k,p;
	getline(cin,s);
	getline(cin,a);
	getline(cin,b);
	//以下为处理\r的代码段,与程序算法无关 
    for(int i=s.length()-1;i>=0 && s[i]=='\r';i--) 
    {
		s.erase(s.length()-1);
	}
    for(int i=a.length()-1;i>=0 && a[i]=='\r';i--) 
    {
		a.erase(a.length()-1);
	}
    for(int i=b.length()-1;i>=0 && b[i]=='\r';i--) 
    {
		b.eras

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

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

相关文章

螺旋矩阵(java)

题目描述 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 代码思路&#xff1a; class Solution {public List<Integer> spiralOrder(int[][] matrix) {List<Integer> list new ArrayList<>(); …

【C#设计模式(16)——解释器模式(Interpreter Pattern)】

前言 解释器模式是用来解释和执行特定的语法或表达式。它将一种表达式的规则和语义进行抽象和封装&#xff0c;然后通过解释器来解析和执行这些规则&#xff0c;将其转化为可执行的操作。 代码 //抽象表达式public interface Expression{int Interpret(Context context); //解释…

OpenHarmony属性信息怎么修改?触觉智能RK3566鸿蒙开发板来演示

本文介绍在开源鸿蒙OpenHarmony系统下&#xff0c;修改产品属性信息的方法&#xff0c;触觉智能Purple Pi OH鸿蒙开发板演示&#xff0c;搭载了瑞芯微RK3566四核处理器&#xff0c;Laval鸿蒙社区推荐开发板&#xff0c;已适配全新OpenHarmony5.0 Release系统&#xff0c;感兴趣…

Python学习35天

# 定义父类 class Computer: CPUNone MemoryNone diskNone def __init__(self,CPU,Memory,disk): self.disk disk self.Memory Memory self.CPU CPU def get_details(self): return f"CPU:{self.CPU}\tdisk:{self.disk}\t…

基础入门-Web应用架构类别源码类别镜像容器建站模版编译封装前后端分离

知识点&#xff1a; 1、基础入门-Web应用-搭建架构上的技术要点 2、基础入门-Web应用-源码类别上的技术要点 一、演示案例-架构类别-模版&分离&集成&容器&镜像 1、套用模版型 csdn / cnblog / github / 建站系统等 安全测试思路上的不同&#xff1a; 一般…

数据库操作、锁特性

1. DML、DDL和DQL是数据库操作语言的三种主要类型 1.1 DML&#xff08;Data Manipulation Language&#xff09;数据操纵语言 DML是用于检索、插入、更新和删除数据库中数据的SQL语句。 主要的DML语句包括&#xff1a; SELECT&#xff1a;用于查询数据库中的数据。 INSERT&a…

七牛智能CDN视频优化方案,展现企业长期价值

随着智能设备和视频分享平台的日益普及,视频已成为现代人记录和分享生活不可或缺的方式。这一趋势不仅使得视频制作变得简单快捷,也促使视频内容在互联网上呈现爆炸式增长。然而,这一增长同时也为企业带来了诸多挑战,包括视频文件体积增大、加载速度受限、存储和传输成本提升,以…

Qt桌面应用开发 第八天(综合项目一 飞翔的鸟)

目录 1.鸟类创建 2.鸟动画实现 3.鼠标拖拽 4.自动移动 5.右键菜单 6.窗口透明化 项目需求&#xff1a; 实现思路&#xff1a; 创建项目导入资源鸟类创建鸟动画实现鼠标拖拽实现自动移动右键菜单窗口透明化 1.鸟类创建 ①鸟类中包含鸟图片、鸟图片的最小值下标和最大值…

云技术-docker

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团…

《解锁计算机专业宝藏:核心编程语言与学习资料全解析》

在当今数字化浪潮汹涌澎湃、技术迭代日新月异的时代&#xff0c;计算机专业宛如一座蕴藏无尽宝藏与无限机遇的神秘殿堂&#x1f3f0;。对于莘莘学子而言&#xff0c;精准掌握核心编程语言&#xff0c;并手握优质学习资料&#xff0c;恰似寻得开启这扇殿堂大门的秘钥&#xff0c…

27加餐篇:gRPC框架的优势与不足之处

gRPC作为一个现代的、开源的远程过程调用(RPC)框架,在多个方面都展现了其优雅之处,同时也存在一些不足之处。这篇文章我们就相对全面的分析一下gRPC框架那些优雅的地方和不足的地方。 优雅的地方 gRPC作为一个RPC框架,在编码、传输协议已经支持多语言方面都比较高效,下…

Leetcode打卡:交替组II

执行结果&#xff1a;通过 题目&#xff1a;3208 交替组II 给你一个整数数组 colors 和一个整数 k &#xff0c;colors表示一个由红色和蓝色瓷砖组成的环&#xff0c;第 i 块瓷砖的颜色为 colors[i] &#xff1a; colors[i] 0 表示第 i 块瓷砖的颜色是 红色 。colors[i] 1 …

在Windows下编译支持https的wsdl2h

下载源码 在官网下载源码 安装Openssl 下载OpenSSL并安装&#xff0c;安装完成后需要将OpenSSL的路径添加到环境变量中 配置VS 1、打开工程 2、因为前面安装的OpenSLL是64位的&#xff0c;因此需要创建一个X64的配置 打开配置管理器&#xff0c;然后选择新建&#xff0…

利用Prompt工程为LLM提升推理能力

利用Prompt工程为LLM提升推理能力 基于策略的推理详解ReAct: 推理与行动思维链&#xff1a;逐步解决问题反思&#xff1a;深入分析和自我审查与代理架构的集成实际应用代码附录 众所周知&#xff0c;一个精心设计的Prompt能够显著增强大型语言模型&#xff08;LLMs&#xff09;…

[C++ 核心编程]笔记 4.1 封装

4.1.1 封装的意义 封装是C面向对象三大特性之一 封装的意义: 将属性和行为作为一个整体&#xff0c;表现生活中的事物将属性和行为加以权限控制 封装意义一: 在设计类的时候&#xff0c;属性和行为写在一起&#xff0c;表现事物 语法: class 类名{ 访问权限: 属性 /行为 }…

基于Qt实现的自定义树结构容器:设计与应用

在Qt框架中&#xff0c;尽管其提供了许多强大的容器类&#xff08;如 QList, QMap, QTreeWidget 等&#xff09;&#xff0c;但缺少一个通用的、灵活的树结构容器&#xff0c;直接支持多层级数据管理。为了满足这些需求&#xff0c;本文设计并实现了一个可复用的自定义树结构容…

Web登录页面设计

记录第一个前端界面&#xff0c;暑假期间写的&#xff0c;用了Lottie动画和canvas标签做动画&#xff0c;登录和注册也连接了数据库。 图片是从网上找的&#xff0c;如有侵权私信我删除&#xff0c;谢谢啦~

钟睒睒的“傲慢与偏见”

文章内容根据网络内容整理形成 最近&#xff0c;钟睒睒关于绿瓶水不适合长期饮用的言论&#xff0c;在网上引起了一番新的热议&#xff0c;让刚平静不久的包装饮用水竞争&#xff0c;再次掀起一阵波澜&#xff0c;同时&#xff0c;其对于企业家直播带货的等系列看法&#xff0c…

【ArcGISPro】使用AI提取要素-土地分类(sentinel2)

Sentinel2数据处理 【ArcGISPro】Sentinel-2数据处理-CSDN博客 土地覆盖类型分类 处理结果

【技术文档:技术传播的灯塔】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…