C++ 语法基础课4 —— 数组

news2024/11/18 11:40:25

文章目录

  • 1. 一维数组
    • 1.1 数组的定义
    • 1.2 数组的初始化
    • 1.3 访问数组元素(通过下标访问数组)
    • 1.4 练习1:
    • 1.5 练习2
    • 1.6 练习3
    • 1.7 练习4
    • 1.8 练习4(难点)
  • 2. 多维数组
    • 2.1 练习1

1. 一维数组

1.1 数组的定义

  • 数组的定义方式和变量类似
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	int a[10], b[20];
	float f[33];
	double d[123];
	char c[21];
	
	return 0;
}

1.2 数组的初始化

  • 在main函数内部,未初始化的数组中的元素是随机的
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	int a[3] = {0,1,2};// 含有3个元素的数组
	int b[] = {0,1,1};// 维度是3的数组
	int c[5] = {0,1,2};// 等价于c[] = {0,1,2,0,0}
	char d[3] = {'a','b','c'};// 字符数组的初始化
	return 0}

1.3 访问数组元素(通过下标访问数组)

在这里插入图片描述

1.4 练习1:

  • 使用数组实现求斐波那契数列的第N项
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
    int n;
    int f[100];
    cin >> n;
    
    f[0] = 0, f[1] = 1;
    for(int i = 2; i <= n; i++)
    {
    	f[i] = f[i - 1] + f[i - 2];
    }
    cout << f[n] << endl;
    return 0;
}

1.5 练习2

  • 输入一个n,再输入n个整数,将这n个整数逆序输出
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	int n;
	int a[100];
	
	cin >> n;
	for(int i = 0;i < n; i++) cin >> a[i];// 输入n个整数
	for(int i = n - 1; i >= 0; i--) cout << a[i] << ' ';
	cout << endl;
	return 0;
}

1.6 练习3

  • 输入一个n,再输入n个整数。将这个数组顺时针旋转k(k <= n)次,最后将结果输出。
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	int n,k;
	int a[100];
	
	cin >> n >> k;
	for(int i = 0; i < n; i++) cin >> a[i];
	
	reverse(a, a + k);
	reverse(a + k,a + n);
	reverse(a, a + n);

	for(int i = 0; i < n; i++) cout << a[i] << ' ';
	cout << endl;
	return 0; 
}

1.7 练习4

  • 输入n个数,将这n个数按从小到大的顺序输出
#include<iostream>
#include<algorithm>
using namespace std;

int main()
{
	int n,k;
	int a[100];
	
	cin >> n >> k;
	for(int i = 0; i < n; i++) cin >> a[i];
	
	for(int i = 0; i < n; i++)
		for(int j = i + 1; j < n; j++)
			if(a[i] > a[j])
				swap(a[i],a[j]);

	for(int i = 0; i < n; i++) cout << a[i] << ' ';
	cout << endl;
	return 0; 
}

1.8 练习4(难点)

  • 计算2的N次方。N <= 10000
    在这里插入图片描述

2. 多维数组

  • int a[3][4]:大小为3的数组,每个元素是含有4个整数的数组。
  • int arr[10][20][30] = {0}; 将所有元素初始化为0,大小为10的数组,它的每个元素是含有4个整数的数组,这些数组的元素是含有30个整数的数组

在这里插入图片描述

2.1 练习1

  • 输入一个n行m列的矩阵,从左上角开始将其按回字形的顺序顺时针打印出来。

在这里插入图片描述

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

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

相关文章

linux网络编程 - epoll边沿触发/水平触发内核实现代码分析

1、listen socket水平触发的poll函数调用 以服务器端epoll为例&#xff0c;加入监听、等待并接受连接、再次等待&#xff0c;会有3次检查是否有连接就绪的操作&#xff0c;分别是epoll_ctl、epoll_wait、epoll_wait。 1.1、epoll_wait(第1次调用) 等待就绪链表相关内核看前面发…

dropout 机制存在,对于同一句子的两次输出是不同的

SimCSE 提供了无监督&#xff08;上图 a&#xff09;和有监督&#xff08;上图 b&#xff09;两种架构&#xff0c;由于业务需要我们只用了无监督方式&#xff0c;其基本思路是&#xff1a; 1. 同一个 batch 内的数据两次输入模型。 2. 由于有 dropout 机制存在&#xff0c;对…

摩托车商城系统(基于javaweb开发的项目)

目录 前言 一、项目目录 二、效果图 2.1 首页面效果图 2.2 商品分类页面 ​​​​​​​2.3 热销栏页面 2.4 新品栏页面 2.5 购物狂欢栏页面 2.6 我的订单页面 2.7 个人中心页面 2.8 注册页面 2.9 用户登录页面 2.10 Admin后台管理主页面 2.11 Admin订单管理页面 2.12 A…

[附源码]SSM计算机毕业设计基于社区生鲜配送系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

万字总结线程池

本文将从背景、原理、架构、实现、参数状态等方面详细介绍percona-线程池。此外&#xff0c;还将简单介绍腾讯云企业级MySQL(CDB)内核技术--TXSQL&#xff0c;关于线程池的动态启停、负载均衡以及快速断连等优化。 「第一部分 背景」 社区版的MySQL的连接处理方法默认是为每个…

“信任机制”才是数字化时代发展中的精髓所在

2008年&#xff0c;美国次贷危机全面爆发并不断蔓延&#xff0c;最终席卷全球&#xff0c;酿成了世界性的金融危机。当年11月1日&#xff0c;一位署名为中本聪的人发表一篇《比特币&#xff1a;一种点对点的电子现金系统》论文提出了一种完全通过点对点技术实现的电子现金系统。…

Flutter 实现背景 Parallax 动画

Flutter 实现背景 Parallax 动画 原文 https://arkapp.medium.com/background-parallax-animation-in-flutter-4aa9e23d6cfb 前言 我们将创建我们的 Flutter 项目惊人的 Parallax 动画。 在本文中&#xff0c;我们将实现一个简单的实用工具 widget &#xff0c;它将在任何 widg…

Transformer/Bert

诸神缄默不语-个人CSDN博文目录 文章目录1. Transformer1.1 Transformer整体工作流程1.2 Transformer的输入1.2.1 单词 Embedding1.2.2 位置 Embedding1.3 Block1.3.1 Add & Norm层1.3.2 Self-Attention1.3.3 Multi-Head Attention1.3.4 Feed Forward1.3.5 Masked Multi-He…

[附源码]计算机毕业设计JAVA篮球装备商城系统

[附源码]计算机毕业设计JAVA篮球装备商城系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybati…

HTTP/2是什么?和HTTP/1.1有什么不同?和SPDY有什么不同?

HTTP/2简介 HTTP/2 是超文本传输协议第2版&#xff0c;最初命名为 HTTP 2.0 &#xff0c;其简称为 h2&#xff08;基于TLS/1.2或以上版本的加密连接&#xff09;或 h2c&#xff08;非加密连接&#xff09;&#xff0c;是HTTP协议的的第二个主要版本&#xff0c;使用于万维网。 …

备考2023年软考需要了解什么?

2022年软考已经结束啦&#xff01;下半年还是有不少地区取消了&#xff0c;没能报上名或是没能正常参考的朋友们&#xff0c;只能把目光转向2023年了。 这篇文章就来给大家讲讲备考2023年软考需要了解什么&#xff1f; 软考小白必看哦&#xff01; 一、软考是啥&#xff1f;…

带你走进神奇的元宇宙的世界

&#x1f3e0;个人主页&#xff1a;黑洞晓威 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晓威&#xff0c;一名普普通通的大二在校生&#xff0c;希望在CSDN中与大家一起成长。&#x1f381;如果你也在正在学习Java&#xff0c;欢迎各位大佬来到我的博客查漏补缺…

阿里架构师推荐,微服务分布式构架开发实战PDF,快快收藏吧

什么是微服务架构 微服务是一种软件架构风格&#xff0c;目标是将一个复杂的应用拆分成多个服务模块&#xff0c;每个模块专注单一业务功能对外提供服务&#xff0c;并可以独立编译及部署&#xff0c;同时各模块间互相通信彼此协作&#xff0c;组合为整体对外提供完整服务。 微…

嵌入式开发学习之--创建工程

提示&#xff1a;本篇文章依旧是了解为主&#xff0c;实际做项目时直接找开源的类似项目做模板更效率。 文章目录一、前言二、新建工程三、使用模板工程四、总结一、前言 前面的学习&#xff0c;都是文件内的代码联系&#xff0c;这一篇&#xff0c;是学习文件与目录的联系。当…

数字信号处理-8-自相关

1 皮尔森相关系数 假设 x 和 y 均为 N 个样本的数组&#xff0c;皮尔森公式如下&#xff1a; 皮尔森相关系数总是在 -1 到 1 之间&#xff08;包含这两个字&#xff09;。ρ 的绝对值意味着相关性的强度。ρ 接近 1 表示强正相关&#xff1b;ρ 接近 -1 表示强负相关&#xf…

上传文件很费时费力?那是你没用对方式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、前端直传的优点二、实现步骤2.1、后端方面2.1.1 添加依赖2.1.2 增加接口2.1.3 测试接口2.2、前端方面2.2.1 安装 cos-js-sdk-v5 依赖2.2.2 新建组件2.2.3 使…

你的哪些SQL慢?看看MySQL慢查询日志吧

前言 在项目里面&#xff0c;多多少少都隐藏着一些执行比较慢的SQL, 不同的开发测试人员在平时使用的过程中多多少少都能够遇到&#xff0c;但是无法立马有时间去排查解决。那么如果有一个文件能够将这些使用过程中比较慢的SQL记录下来&#xff0c;定期去分析排查&#xff0c;…

meta视口标签

属性解释说明width宽度设置的是viewport宽度&#xff0c;可以设置device-width特殊值initial-scale初始缩放比&#xff0c;大于0的数字maximum-scale最大缩放比&#xff0c;大于0的数字minimum-scale最小缩放比&#xff0c;大于0的数字user-scalable用户是否可以缩放&#xff0…

关于我们编写好的java程序是如何运行部署的

了解如何去查看项目如何运行怎么部署java项目部署到服务器的程序和在本地运行的程序有什么不同java中的Class文件是如何形成的Class文件如何执行的怎么部署java项目 首先宏观的说一下&#xff0c;程序的运行都是要有一个启动入口的&#xff0c;也就是我们经常说的main函数是程…

【Shell 脚本速成】03、Shell 脚本实战案例(一)数据磁盘初始化

目录 一、案例应用场景 二、案例需求 脚本所需相关知识点 三、案例算法 四、代码实现 五、实现验证 一、案例应用场景 生产环境中的服务器一般会分为系统盘和数据盘两种磁盘&#xff0c;以dell R730举例&#xff0c;该服务器是一个2U的机架式服务器&#xff0c;满载可以挂…