数组(个人学习笔记黑马学习)

一维数组

1、定义方式

#include <iostream>
using namespace std;int main() {//三种定义方式//1.int arr[5];arr[0] = 10;arr[1] = 20;arr[2] = 30;arr[3] = 40;arr[4] = 50;//访问数据元素/*cout << arr[0] << endl;cout << arr[1] << endl;cout << arr[2] << endl;cout << arr[3] << endl;cout << arr[4] << endl;*///2.int arr2[5] = { 10,20,30,40,50 };/*cout << arr2[0] << endl;cout << arr2[1] << endl;cout << arr2[2] << endl;cout << arr2[3] << endl;cout << arr2[4] << endl;*///利用循环的方式输出数组/*for (int i = 0; i < 5; i++){cout << arr[i] << endl;}*///3.int arr3[] = { 90,80,70,60,50,40,30,20,10 };for (int i = 0; i < 9; i++){cout << arr3[i] << endl;}system("pause");return 0;
}

 


2、数组名

#include <iostream>
using namespace std;int main() {//1、通过数组名统计整个数组占用内存大小int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };cout << "整个数组占用内存空间为:" << sizeof(arr) << endl;cout << "每个数组占用内存空间为:" << sizeof(arr[0]) << endl;cout << "数组中元素个数为:" << sizeof(arr) / sizeof(arr[0]) << endl;//2、可以通过数组名查看数组首地址cout << "数组首地址为:" << arr << endl;cout << "数组中第一个元素地址为:" << &arr[0] << endl;system("pause");return 0;
}

3、练习案例1: 五只小猪称体重


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

#include <iostream>
using namespace std;int main() {int arr[5] = { 300,350,200,400,250 };int max = arr[0];for (int i = 1; i < 5; i++){if (max < arr[i]) {max = arr[i];}}cout << "最重的小猪体重为:" << max << endl;system("pause");return 0;
}

 


4、练习案例2:数组元素逆置

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

#include <iostream>
using namespace std;int main() {int arr[5] = { 1,3,2,5,4 };for (int i = 0; i < 5; i++){for (int j = 0; j <=i; j++){int t = 0;t = arr[i];arr[i] = arr[j];arr[j] = t;}}for (int i = 0; i < 5; i++){cout << arr[i];}system("pause");return 0;
}

 


5、冒泡排序


作用: 最常用的排序算法,对数组内元素进行排序
 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

 2.对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值

 3.重复以上的步骤,每次比较次数-1,直到不需要比较

#include <iostream>
using namespace std;int main() {int arr[9] = {4,2,8,0,5,7,1,3,9};for (int i = 0; i < 9-1; i++){for (int j = 0; j <9 - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}for (int i = 0; i < 9; i++){cout << arr[i]<<",";}cout << endl;system("pause");return 0;
}

 


二维数组 

1、定义方式

#include <iostream>
using namespace std;int main() {//1、int arr[2][3];//2、int arr2[2][3] ={{1,2,3},{4,5,6}};/*for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++) {cout << arr2[i][j] << " ";}cout << endl;}*///3、int arr3[2][3] = { 1,2,3,4,5,6 };/*for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++) {cout << arr3[i][j] << " ";}cout << endl;}*///4、int arr4[][3] = { 1,2,3,4,5,6 };for (int i = 0; i < 2; i++){for (int j = 0; j < 3; j++) {cout << arr4[i][j] << " ";}cout << endl;}system("pause");return 0;
}

2、数组名

#include <iostream>
using namespace std;int main() {int arr[2][3] ={{1,2,3},{4,5,6} };cout << "二维数组占用内存空间为:" << sizeof(arr) << endl;cout << "二维数组第一行占用内存为:" << sizeof(arr[0]) << endl;cout << "二维数组第一个元素占用内存为:" << sizeof(arr[0][0]) << endl;cout << "二维数组行数为:" << sizeof(arr) / sizeof(arr[0]) << endl;cout << "二维数组列数为:" << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;cout << "二维数组的首地址为:" << arr << endl;cout << "二维数组第一行的首地址为:" << arr[0] << endl;cout << "二维数组第二行的首地址为:" << arr[1] << endl;cout << "二维数组第一给元素的首地址为:" << &arr[0][0] << endl;system("pause");return 0;
}

 


3、 二维数组应用案例
考试成绩统计:
案例描述:有三名同学(张三,李四,王五),在一次考试中的成绩分别如下表,请分别输出三名同学的总成绩

              语文          数学      英语
张川       100           100       100
李四       90              50        100
王五       60              70         80

#include <iostream>
using namespace std;int main() {int scores[3][3] = { {100,100,100},{90,50,100},{60,70,80} };for (int i = 0; i < 3; i++){int sum = 0;for (int j = 0; j < 3; j++) {sum += scores[i][j];}cout << "第" << i + 1 << "个人的总分为:" << sum << endl;}system("pause");return 0;
}

 

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

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

相关文章

Redis怎么测试?

有些测试朋友来问我&#xff0c;redis要怎么测试&#xff1f;首先我们需要知道&#xff0c;redis是什么&#xff1f;它能做什么&#xff1f; redis是一个key-value类型的高速存储数据库。 redis常被用做&#xff1a;缓存、队列、发布订阅等。 所以&#xff0c;“redis要怎么…

web自动化框架:selenium学习使用操作大全(Python版)

目录 一、浏览器驱动下载二、selenium-python安装&#xff08;打开网站、操作元素&#xff09;三、网页解析&#xff08;HTML、xpath&#xff09;四、selenium基本操作1、元素定位八种方法2、元素动态定位3、iframe切换4、填充表单_填充文本框5、填充表单_单选按钮6、填充表单_…

山海优选卷轴模式源码实例分享

山海优选通过与绿色有机产品供应商和生产商的合作&#xff0c;建立起稳定的供应链关系&#xff0c;确保产品的绿色、有机、健康。通过产品认证和检测&#xff0c;为会员提供可信赖的绿色产品。积分激励机制设计 山海优选引入“绿色积分”机制&#xff0c;通过会员购买产品、参与…

docker 搭建私有仓库和制作镜像

目录 1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 1.1 启动mysql镜像 1.2 启动owncloud镜像 1.3 浏览器访问 1.4 总结 2、安装搭建私有仓库 Harbor 2.1 下载docker-compose并赋予执行权限 2.2 磁盘挂载&#xff0c;保存harbor 2.3 修改配置文件…

4G WiFi LoRa无线外夹式超声波管道流量计MQTT/http协议 json数据说明

ip&#xff1a;114.128.112.131 port&#xff1a;1883 uname&#xff1a;scwl_flowmeter pwd&#xff1a;b123 topic&#xff1a;iot/data/scwlflowmeter { “deviceId”:“设备序列号”, “flow”:“瞬时流量&#xff08;浮点数&#xff09;”, “heatFlow”:“瞬时热流量&am…

Web 自动化神器 TestCafe—页面高级操作篇

♥ 前 言 在【Web 自动化神器 TestCafe — 页面基本操作篇】这篇文章中我们介绍了TestCafe页面交互的一些基本使用 Web 自动化神器 TestCafe — 页面基本操作篇 这篇文章接着上一篇来给大家介绍一下 TestCafe 页面交互的一些高级操作。 一、鼠标拖拽 鼠标拖拽鼠标拖拽 …

JavaScript常见的运算符

一、运算符和运算元 1.认识运算符 在小学的时候我们就学习了各种运算符&#xff0c;比如加号 、乘号 *、减号 - 、除号/ 几乎所有的编程语言都有各种各样的运算符(也被称之为操作符&#xff0c;operators) 初次接触这些运算符, 你会感觉种类繁多, 难以记忆.但是并不需要特别…

Kotlin判断null比较let布尔值Boolean

Kotlin判断null比较let布尔值Boolean class MyData {val count: Int? 2023val number: Int? null }fun main(args: Array<String>) {val data MyData()val year 2022if (data.count ! null) {if (data.count > year) {println("data.count ! null")}}…

CSS 盒子模型

前言 盒子模型-组成 CSS盒子模型是一种用来描述元素在页面布局中占据空间的模型。它将每个元素看作由内容区域、内边距、边框和外边距组成的一个矩形框。 盒子模型的组成部分包括&#xff1a; 内容区域&#xff08;Content&#xff09;&#xff1a;显示元素的实际内容&#xf…

无涯教程-Android - Frame Layout函数

Frame Layout 旨在遮挡屏幕上的某个区域以显示单个项目&#xff0c;通常&#xff0c;应使用FrameLayout来保存单个子视图&#xff0c;因为在子视图彼此不重叠的情况下&#xff0c;难以以可扩展到不同屏幕尺寸的方式组织子视图。 不过&#xff0c;您可以使用android:layout_grav…

Axure RP 8.1.0.3400(原型设计工具)

Axure RP 8是一款原型设计工具&#xff0c;它提供了丰富的功能和工具&#xff0c;帮助用户创建高质量的网页、移动应用和桌面软件原型。以下是Axure RP 8的一些特色介绍&#xff1a; 强大的交互设计&#xff1a;Axure RP 8支持创建复杂的动画和过渡效果&#xff0c;让你的原型更…

微信短链跳转到小程序指定页面调试

首先说下背景&#xff1a;后端给了短链地址&#xff0c;但是无法跳转到指定页面。总是在小程序首页。指定的页面我们是h5页面。排查步骤如下&#xff1a; 1、通过快速URL Scheme 编译。上部普通编译 下拉找到此选项。 、 2、按照小程序的要求的URL Scheme输入。另外后端给的…

Redis7之介绍(一)

1. 是什么 Redis:REmote Dictionary Server(远程字典服务器&#xff09; Remote Dictionary Server( 远程字典服务)是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c;是一个高性能的Key-Value数据库提供了丰富的数据结构&#xff0c;例如String、Hash、List、…

PlantUML文本绘制类图

记录下文本绘制类图的语法 参考 https://juejin.cn/post/6844903731293585421 类的UML表示 使用UML表示一个类&#xff0c;主要由三部分组成。类名、属性、方法。其中属性和方法的访问修饰符用 - 、# 、 表示 private、protected、public。 如图所示&#xff0c;表示A类有一个…

筑牢数据隐私安全底线,ADSCOPE通过ISO隐私信息管理体系认证!

数字时代&#xff0c;信息安全尤其是数据隐私信息保护已经成为社会共识。近日&#xff0c;ADSCOPE&#xff08;上海倍孜网络技术有限公司&#xff09;已通过相关组织机构评审&#xff0c;符合ISO/IEC 27701&#xff1a;2019标准&#xff0c;获得隐私信息管理体系认证证书&#…

Django基础5——ORM中间程序

文章目录 一、基本了解二、ORM基本操作2.1 连接数据库2.1.1 使用sqlite数据库2.1.2 使用MySQL数据库 2.2 对数据库操作2.2.1 增&#xff08;前端数据——>数据库&#xff09;2.2.2 查&#xff08;数据库——>前端展示&#xff09;2.2.3 改&#xff08;修改数据&#xff0…

已知两地经纬度,计算两地直线距离

文章目录 1 原理公式2 代码实现2.1 JavaScript2.2 C2.3 Python2.4 MATLAB 1 原理公式 在地球上&#xff0c;计算两点之间的直线距离通常使用地理坐标系&#xff08;例如WGS84&#xff09;。计算两地直线距离的公式是根据经纬度之间的大圆距离&#xff08;Great Circle Distanc…

C语言练习4(巩固提升)

C语言练习4 选择题 前言 面对复杂变化的世界&#xff0c;人类社会向何处去&#xff1f;亚洲前途在哪里&#xff1f;我认为&#xff0c;回答这些时代之问&#xff0c;我们要不畏浮云遮望眼&#xff0c;善于拨云见日&#xff0c;把握历史规律&#xff0c;认清世界大势。 选择题 …

shell常用脚本

1、Java项目重启脚本 #!/bin/bash# 定义一个函数来结束进程和启动新进程 function restart(){JAR_NAME$1 # jar包LOG_NAME$2 # 日志JVM_ARGS$3 # jvm 参数PID$(ps -ef | grep java | grep ${JAR_NAME} | awk { print $2 })if [[ ! -z "$PID" ]]; thenecho "…

postgresql-字符函数

postgresql-字符函数 字符串连接字符与编码字符串长度大小写转换子串查找与替换截断与填充字符串格式化MD5 值字符串拆分字符串反转 字符串连接 concat(str, …)函数用于连接字符串&#xff0c;并且忽略其中的 NULL 参数&#xff1b;concat_ws(sep, str, …) 函数使用指定分隔…