c语言数据22数组使用
1.1数组分配的空间
int a[10]={1,2,3,4,5,6,7,8,9,10};//分配空间 元素类型大小int4*元素个数10=40byte
元素之间空间连续
数组名代表数组首元素地址;a 取的是a[0]的地址;&a 是整个数组的地址
说明:
数组首元素地址:
0号元素的地址属性
数组名代表首元素地址
a+1:首字母的地址,偏移一个元素
数组的地址:
数组的地址属性表示整个数组的地址:&a
从地址编号上是一样的,但偏移量是不一样的
&a+1数组的地址,偏移整个数组长度地址
1.2数组初始化
说明:数组初始化就是给数组中每个元素赋初值
规则:
元素个数可以省略 a[]={10,20,30};
初始化个数可以少于元素个数a[10]={10,20,30};//没初始化默认0
数组初始化必须在定义语句中完成
1.3访问下标
1.3.1 数组下标的使用
下标:数组中的元素从0开始编号一直到(数组元素个数-1)
通过数组的下标来锁定数组元素,从而达到操作具体元素的作用
格式:数组名[下标号] //数组元素相应编号的内容
元素内容与地址:
数组名[编号]; //某号元素的内容
&数组名[编号]; //某号元素的地址
1.3.2数组名访问数组元素
数组名代表数组首元素地址
(数组名+i)的形式表示数组i号元素的地址
*(数组名+i)的形式 表示i号元素的内容
1.3.3通过指针的形式访问数组的元素
说明:通过指针来操作数组中的元素,首先要定义一个指针
指针指向对象类型 是元素的数据类型 数组的类型
int *p;
通过指针操作数组的话用 int (*p)[5];
//获取首元素地址
p=&a[0]; //(p=a;)
//下一个元素的地址及内容
p++;
//指针可能会偏移,需要指针重新指向首元素
1.4数组的应用
1.4.1数组元素累加
需求:定义一个10个元素的数组,每个元素是int类型,用户输入十个整型数据,求平均值。
分析:1通过循环结构将数据输入数据
int sum=0;
int val;
printf();
for(i=0;i<=10;i++)
{
scanf("%d",&a[i])
}
for(i=0;i<=10;i++)
{
sum+=a[i];
}
val=sum/10.0;
printf("%d",val);
2对数组累加和
3求平均值打印
1.4.2数组排序--冒泡排序
可以将数组中的数据进行从大到小或者从小到大排序
排序原理:
通过与后面各个位数据比较将最大/最小的值找出来。
若需要将数组从大到小进行排序,通过两两比较的方式将最小的数据排到最后,然后是次小.....
考虑循环的次数,和遍历的数量。
在第一次循环时,最小的数被排到了最后,因此在下一次排序时不需要遍历到最后一位,其他以此类推......因此遍历的数量为 数据个数-轮数
循环的最后一次,应该是最大和次大的数进行比较,因此所需要循环的循环次数为 数据个数-1
两层循环:
for(i=1;i<数据个数;i++)
{
for(j=0;j<数据个数-轮数;j++)
{
//从小到大
if(a[j]<a[j+1])
{
数据交换
/*这样排序不是将第一个数变成最大数,而是想将最后一个数变成最小数*/
}
}
}
1.4.3选择排序
相对于冒泡排序,选择排序更为直接,通过与后面各个数进行比较后将符合的放在最前面的位置
第一次循环将第一位数据换成我们需要的值....下一次循环的起点应该从下一个数据开始遍历
最后一次为最小数和次小数间比较因此循环次数为.....数据个数-1
如果我要找一个十个数据中的最大值,定义一个a变量让他的值与数组其中一个元素相等
然后让他和数组中其他元素进行比较,若遇到更大的数则得到改值继续往后比较,最终打印a即可
int t[10]={1,5,7,4,6,5,4,4,5,3,}
int a=t[0];
for(i=0;i<10;i++)
{
if(a<t[i+1])
{
a=t[i+1];
}
}
printf("%d",a);
同样的,我可以不定义a,直接用a[0]来接收最大值
int t[10]={1,5,7,4,6,5,4,4,5,3,}
for(i=0;i<10;i++)
{
if(t[0]<t[i+1])
{
t[0]=t[i+1];
}
}
printf("%d",t[0]);
但是这样只是让第一个元素复制了其中最大的值,因此需要中间变量使数组进行交换
int t[10]={1,5,7,4,6,5,4,4,5,3,};
int a;
for(int i=0;i<10;i++)
{
if(t[0]<t[i+1])
{
i=t[0];
t[0]=t[i+1];
t[i+1]=i;
}
}
printf("%d",t[0]);
这样第一个数就是最大数,接着后几位按照这个方式循环比较
int t[10]={1,5,7,4,6,5,4,4,5,3,};
int a;
for(int j=0;j<10-1;j++)
{
for(int i=0;i<10;i++)
{
if(t[j]<t[i+1])
{
a=t[j];
t[j]=t[i+1];//这样会把第一个值变为我们最需要的值
t[i+1]=a;
}
}
}
相关文章:
c语言数据22数组使用
1.1数组分配的空间 int a[10]{1,2,3,4,5,6,7,8,9,10};//分配空间 元素类型大小int4*元素个数1040byte 元素之间空间连续 数组名代表数组首元素地址;a 取的是a[0]的地址;&a 是整个数组的地址 说明: 数组首元素地址: 0号元…...
深入理解TensorFlow中的形状处理函数
摘要 在深度学习模型的构建过程中,张量(Tensor)的形状管理是一项至关重要的任务。特别是在使用TensorFlow等框架时,确保张量的形状符合预期是保证模型正确运行的基础。本文将详细介绍几个常用的形状处理函数,包括get_…...
MySQL数据库3——函数与约束
一.函数 1.字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 使用方法: SELECT 函数名(参数);注意:MySQL中的索引值即下标都是从1开始的。 2.数值函数 常见的数值函数如下: 使用方法: SELECT…...
⾃动化运维利器 Ansible-Jinja2
Ansible-Jinja2 一、Ansible Jinja2模板背景介绍二、 JinJa2 模板2.1 JinJa2 是什么2.2 JinJa2逻辑控制 三、如何使用模板四、实例演示 按顺序食用,口味更佳 ( 1 ) ⾃动化运维利器Ansible-基础 ( 2 ) ⾃动化运维利器 Ansible-Playbook ( 3 ) ⾃动化运维利器 Ansible…...
博客文章怎么设计分类与标签
首发地址(欢迎大家访问):博客文章怎么设计分类与标签 新网站基本上算是迁移完了,迁移之后在写文章的过程中,发现个人的文章分类和标签做的太混乱了,分类做的像标签,标签也不是特别的丰富&#x…...
FastDDS之DataSharing
目录 原理说明限制条件配置Data-Sharing delivery kindData-sharing domain identifiers最大domain identifiers数量共享内存目录 DataReader和DataWriter的history耦合DataAck阻塞复用 本文详细记录Fast DDS中Data Sharing的实现原理和代码分析。 DataSharing的概念࿱…...
计算机网络在线测试-概述
单项选择题 第1题 数据通信中,数据传输速率(比特率,bps)是指每秒钟发送的()。 二进制位数 (我的答案) 符号数 字节数 码元数 第2题 一座大楼内的一个计算机网络系统…...
【MySQL】数据库必考知识点:查询操作全面详解与深度解剖
前言:本节内容讲述基本查询, 基本查询要分为两篇文章进行讲解。 本篇文章主要讲解的是表内删除数据、查询结果进行插入、聚合统计、分组聚合统计。 如果想要学习对应知识的可以观看哦。 ps:本篇内容友友们只要会创建表了就可以看起来了哦!&am…...
鲸鱼机器人和乐高机器人的比较
鲸鱼机器人和乐高机器人各有其独特的优势和特点,家长在选择时可以根据孩子的年龄、兴趣、经济能力等因素进行综合考虑,选择最适合孩子的教育机器人产品。 优势 鲸鱼机器人 1)价格亲民:鲸鱼机器人的产品价格相对乐高更为亲民&…...
游戏引擎学习第15天
视频参考:https://www.bilibili.com/video/BV1mbUBY7E24 关于游戏中文件输入输出(IO)操作的讨论。主要分为两类: 只读资产的加载 这部分主要涉及游戏中用于展示和运行的只读资源,例如音乐、音效、美术资源(如 3D 模型和…...
详解模版类pair
目录 一、pair简介 二、 pair的创建 三、pair的赋值 四、pair的排序 (1)用sort默认排序 (2)用sort中的自定义排序进行排序 五、pair的交换操作 一、pair简介 pair是一个模版类,可以存储两个值的键值对.first以…...
AI驱动的桌面笔记应用Reor
网友 竹林风 说,已经成功的用 mxbai-embed-large 映射到 text-embedding-ada-002,并测试成功了。不愧是爱折腾的人,老苏还没时间试,因为又找到了另一个支持 AI 的桌面版笔记 Reor Reor 简介 什么是 Reor ? Reor 是一款由人工智…...
搜维尔科技:使用sensglove触觉反馈手套进行虚拟拆装操作
使用sensglove触觉反馈手套进行虚拟拆装操作 搜维尔科技:使用sensglove触觉反馈手套进行虚拟拆装操作...
深入理解电子邮件安全:SPF、DKIM 和 DMARC 完全指南
引言 在当今数字时代,电子邮件已经成为我们日常通信中不可或缺的一部分。然而,随之而来的安全问题也日益突出。邮件欺诈、钓鱼攻击和垃圾邮件等威胁不断增加,这促使了多种邮件安全验证机制的出现。本文将深入探讨三个最重要的邮件安全协议&a…...
【有啥问啥】复习一下什么是NMS(非极大值抑制)?
复习一下什么是NMS(非极大值抑制)? 什么是NMS? NMS(Non-Maximum Suppression)即非极大值抑制,是一种在计算机视觉领域,尤其是目标检测任务中广泛应用的后处理算法。其核心思想是抑…...
Java-异步方法@Async+自定义分布式锁注解Redission
如果你在使用 @Async 注解的异步方法中,使用了自定义的分布式锁注解(例如 @DistributedLock),并且锁到期后第二个请求并没有执行,这可能是由于以下几个原因导致的: 锁的超时时间设置不当:锁的超时时间可能设置得太短,导致锁在业务逻辑执行完成之前就已经自 动释放。…...
基本定时器---内/外部时钟中断
一、定时器的概念 定时器(TIM),可以对输入的时钟信号进行计数,并在计数值达到设定值的时候触发中断。 STM32的定时器系统有一个最为重要的结构是时基单元,它由一个16位计数器,预分频器,和自动重…...
实现了两种不同的图像处理和物体检测方法
这段代码实现了两种不同的图像处理和物体检测方法:一种是基于Canny边缘检测与轮廓分析的方法,另一种是使用TensorFlow加载预训练SSD(Single Shot Multibox Detector)模型进行物体检测。 1. Canny边缘检测与轮廓分析: …...
如何在MindMaster思维导图中制作PPT课件?
思维导图是一种利用色彩、图画、线条等图文并茂的形式,来帮助人们增强知识或者事件的记忆。因此,思维导图也被常用于教育领域,比如:教学课件、读书笔记、时间管理等等。那么,在MindMaster免费思维导图软件中࿰…...
ORIN NX 16G安装中文输入法
刷机版本为jetpack5.14.刷机之后预装了cuda、cudnn、opencv、tensorrt等,但是发现没有中文输入,所以记录一下安装流程。 jetson NX是arm64架构的,sougoupinyin只支持adm架构的,所以要选择安装Google pinyin 首先打开终端&#x…...
【金融风控项目-07】:业务规则挖掘案例
文章目录 1.规则挖掘简介2 规则挖掘案例2.1 案例背景2.2 规则挖掘流程2.3 特征衍生2.4 训练决策树模型2.5 利用结果划分分组 1.规则挖掘简介 两种常见的风险规避手段: AI模型规则 如何使用规则进行风控 **使用一系列逻辑判断(以往从职人员的经验)**对客户群体进行区…...
退款成功订阅消息点击后提示订单不存在
问题表现: 退款成功发送的小程序订阅消息点击进入后提示订单不存在。 修复方法: 1.打开文件app/services/message/notice/RoutineTemplateListService.php 2.找到方法sendOrderRefundSuccess 3.修改图中红圈内的链接地址 完整方法代码如下 /*** 订…...
实验一 顺序结构程序设计
《大学计算机﹣C语言版》实验报告 实验名称 实验一 顺序结构程序设计 实验目的 (1)掌握C语言中常量和变量的概念。 (2)掌握C语言中常见的数据类型。 (3)掌握C语言中变量的定义和赋值方法。 …...
Elasticsearch搜索流程及原理详解
Elasticsearch搜索流程及原理详解 1. Elasticsearch概述1.1 简介1.2 核心特性1.3 应用场景2. Elasticsearch搜索流程2.1 搜索请求的发起2.2 查询的执行2.3 结果的聚合与返回3. Elasticsearch原理详解3.1 倒排索引3.2 分布式架构3.3 写入流程3.4 读取流程4. 技术细节与操作流程4…...
芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号)
芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号) 本期是平台君和您分享的第113期内容 前一段时间,高通公司(Qualcomm)发布安全警告称,提供的60多款芯片潜在严重的“零日漏洞”,芯片安全再一次暴露在大众视野。 那什么是“零日漏洞”?平台君从网上找了一段…...
【gitlab】gitlabrunner部署
1、下载镜像 docker pull gitlab/gitlab-runner:latest 2、启动gitrunner容器 docker run -d --name gitlab-runner --restart always \ -v /root/gitrunner/config:/etc/gitlab-runner \ ///gitlab-runner的配置目录,挂载在宿主机上方便修改,里面有config.…...
Flink监控checkpoint
Flink的web界面提供了一个选项卡来监控作业的检查点。这些统计信息在任务终止后也可用。有四个选项卡可以显示关于检查点的信息:概述(Overview)、历史(History)、摘要(Summary)和配置(Configuration)。下面依次来看这几个选项。 Overview Tab Overview选项卡列出了以…...
Ribbon 入门实战指南
Ribbon 是 Netflix 开发的一个开源项目,用于实现客户端负载均衡功能。它在微服务架构中广泛使用,并且是 Spring Cloud 生态中的重要组成部分。本文将带你从基础入门,逐步掌握如何在 Spring Cloud 项目中使用 Ribbon 实现客户端负载均衡。 1 负…...
uniapp: 微信小程序包体积超过2M的优化方法(主包从2.7M优化到1.5M以内)
一、问题描述 在使用uniapp进行微信小程序开发时,经常会遇到包体积超过2M而无法上传: 二、解决方案 目前关于微信小程序分包大小有以下限制: 整个小程序所有分包大小不超过 30M(服务商代开发的小程序不超过 20M) 单个…...
【百日算法计划】:每日一题,见证成长(026)
题目 给定一个包含正整数、加()、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。 表达式仅包含非负整数,, - ,,/ 四种运算符和空格 。 整数除法仅保留整数部分。 * * 示例 1: 输入: “32X2” 输出: 7 import…...
网站如何生成app/重大军事新闻
虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。 未能启动虚拟机。 分析:该虚拟机环境之前使用的VMware版本与你所使用的VMware版本不一致。大概率你使用的是刚从别人电脑里拷过来的虚拟机环境。 解决: 把数字改…...
wordpress 小插件/推荐几个靠谱的网站
项目中用到了消息对话框,类似于Messagebox,然后我就自定义了个Messagebox,其中用到了label自适应,自动换行,先看效果图吧。 按照下面步骤来来 1 新建一个Form为BasicDialog,form里添加一个label,BasicDialog大小为(440,240) 2 label的autosize为true,MaximumSize为…...
wordpress 3d标签云/竞价账户
在PHP中,数组函数 array_walk () 使用回调函数遍历数组元素。 函数语法: array_walk ( array &$array , callable $callback [, mixed $userdata NULL ] ) : bool 函数参数说明: 参数描述array必需。规定数组。callback必需。一般情况…...
做微课常用的网站有哪些/福州百度推广排名优化
插件描述:clock.js是一款简单的HTML5模拟时钟jQuery插件。该HTML5模拟时钟基于Canvas制作,有3种内置的主题,它带有时钟表盘界面和数字刻度,简单实用。使用方法使用该时钟插件需要在页面中引入jquery和clock.js文件。HTML结构可以实…...
如何做网站不容易被攻击/自己有货源怎么找客户
1.Perl的标量代表的是单数,列表和数组代表的是复数2.列表是标量的有序集、数组是包含列表的变量。3.列表是指数据,而数组是其变量名。4.可以有一些值(列表)但不属于数组;但每一个数组标量都有一个列表,虽然…...
seo网站改版方案怎么写/网络推广工作能长久吗
转自:http://blog.csdn.net/jgw2008/article/details/77993399 在使用Robot Framework测试Android机器过程中, 经常要用到滚屏操作, 改如何实现这个效果呢? 其中一个方法, 就是使用关键字"Swipe", 这个关键字的效果类似模拟操作人员滑动屏幕的效果, 它有…...