【C++】数组

1.概述

所谓数组,就是一个集合,该集合里面存放了相同类型的数据元素。

数组特点:

(1)数组中的每个数据元素都是相同的数据类型。

(2)数组是有连续的内存空间组成的。

2、一维数组

2.1维数组定义的三个方式:

(1)数据类型 数组名[数组长度];

(2)数据类型 数组名[ 数组长度]={值1,值2...};

(3)数据类型 数组名[ ] ={值1,值2,...};

注意:数组中元素的下表是从0开始的。

示例:

第一种定义方式:数据类型 数组名[数组长度];

第二种定义方式:数据类型 数组名[ 数组长度]={值1,值2...};

第三种定义方式:数据类型 数组名[ ] ={值1,值2,...};

总结:

(1)数组名的命名规范与变量的命名规范一致。

(2)数组中下标是从0开始的。

2.2 练习一---最大值

案例:五只小猪称体重,在一个数组中记录五只小猪的体重,如:int arr[5]={300,350,200,400,250};找出并打印最重的小猪体重。

代码:

//案例--五只小猪称体重

#include<iostream>

using namespace std;

int main()

{

//创建5只小猪体重的数组

int weight[5] = { 300,500,200,400,250 };

//在数组中找到最大值

int max = 0;//假设最大值为0

for (int i = 0; i < 5; i++)

{

if (weight[i] > max)

{

max = weight[i];

}

}

//打印体重最大值

cout << "最重的小猪体重为:" << max << endl;

system("pause");

return 0;

}

2.3 练习二---数组元素逆置

请声明一个5个元素的数组,并且将元素逆置。如:原数组元素为1,3,2,5,4逆置后输出结果为:4,5,2,3,1。

代码:

//一维数组案例---数组元素逆置

#include<iostream>

using namespace std;

int main()

{

// 1.创建数组

int arr[5] = { 1,3,2,4,5 };

cout << "数组逆置前:" << endl;

for (int i = 0; i < 5; i++)

{

cout << arr[i] << " ";

}

cout << endl;

//实现逆置

int start = 0;//数组首元素起始下标

int end = sizeof(arr) / sizeof(arr[0]) - 1;

while (start < end)

{

int temp = arr[start];

arr[start] = arr[end];

arr[end] = temp;

start++;

end--;

}

cout << "数组逆置后:" << endl;

for (int i = 0; i < 5; i++)

{

cout << arr[i] << " ";

}

cout << endl;

system("pause");

return 0;

}

相关推荐
所愿ღ2 分钟前
SSM框架-Spring1
java·开发语言·笔记·spring
zh路西法3 分钟前
【ROS2多激光雷达融合】基于ROS2的双2D激光雷达点云融合与遮挡剔除方案
c++·python·机器人
楼田莉子11 分钟前
CMake学习:动态库场景下的应用
c++·后端·学习·软件构建
威迪斯特11 分钟前
Gorilla框架:Go语言生态中的模块化开发利器
运维·开发语言·后端·golang·web框架·维护·gorilla
格林威11 分钟前
面阵相机 vs 线阵相机:堡盟与海康相机选型差异全解析 附C# 实战演示
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
jingshaoqi_ccc13 分钟前
使用QT6创建一个可编辑的表格并导出和载入
c++·qt·表格
A_aspectJ18 分钟前
【Java基础开发】基于 Java Swing 开发的简易计算器 - 支持键盘
java·开发语言
光影少年20 分钟前
vite+rust生态链工具链
开发语言·前端·后端·rust·前端框架
skywalk816320 分钟前
当前有什么流行的lisp的web框架吗?
开发语言·前端·lisp
天若有情67323 分钟前
C++进阶:普通重载运算符 vs 隐式类型转换重载运算符,一篇讲透区别
开发语言·c++·算法