当前位置: 首页 > news >正文

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 元素之间空间连续 数组名代表数组首元素地址&#xff1b;a 取的是a[0]的地址&#xff1b;&a 是整个数组的地址 说明&#xff1a; 数组首元素地址&#xff1a; 0号元…...

深入理解TensorFlow中的形状处理函数

摘要 在深度学习模型的构建过程中&#xff0c;张量&#xff08;Tensor&#xff09;的形状管理是一项至关重要的任务。特别是在使用TensorFlow等框架时&#xff0c;确保张量的形状符合预期是保证模型正确运行的基础。本文将详细介绍几个常用的形状处理函数&#xff0c;包括get_…...

MySQL数据库3——函数与约束

一.函数 1.字符串函数 MySQL中内置了很多字符串函数&#xff0c;常用的几个如下&#xff1a; 使用方法&#xff1a; SELECT 函数名(参数);注意&#xff1a;MySQL中的索引值即下标都是从1开始的。 2.数值函数 常见的数值函数如下&#xff1a; 使用方法&#xff1a; SELECT…...

⾃动化运维利器 Ansible-Jinja2

Ansible-Jinja2 一、Ansible Jinja2模板背景介绍二、 JinJa2 模板2.1 JinJa2 是什么2.2 JinJa2逻辑控制 三、如何使用模板四、实例演示 按顺序食用&#xff0c;口味更佳 ( 1 ) ⾃动化运维利器Ansible-基础 ( 2 ) ⾃动化运维利器 Ansible-Playbook ( 3 ) ⾃动化运维利器 Ansible…...

博客文章怎么设计分类与标签

首发地址&#xff08;欢迎大家访问&#xff09;&#xff1a;博客文章怎么设计分类与标签 新网站基本上算是迁移完了&#xff0c;迁移之后在写文章的过程中&#xff0c;发现个人的文章分类和标签做的太混乱了&#xff0c;分类做的像标签&#xff0c;标签也不是特别的丰富&#x…...

FastDDS之DataSharing

目录 原理说明限制条件配置Data-Sharing delivery kindData-sharing domain identifiers最大domain identifiers数量共享内存目录 DataReader和DataWriter的history耦合DataAck阻塞复用 本文详细记录Fast DDS中Data Sharing的实现原理和代码分析。 DataSharing的概念&#xff1…...

计算机网络在线测试-概述

单项选择题 第1题 数据通信中&#xff0c;数据传输速率&#xff08;比特率&#xff0c;bps&#xff09;是指每秒钟发送的&#xff08;&#xff09;。 二进制位数 &#xff08;我的答案&#xff09; 符号数 字节数 码元数 第2题 一座大楼内的一个计算机网络系统&#xf…...

【MySQL】数据库必考知识点:查询操作全面详解与深度解剖

前言&#xff1a;本节内容讲述基本查询&#xff0c; 基本查询要分为两篇文章进行讲解。 本篇文章主要讲解的是表内删除数据、查询结果进行插入、聚合统计、分组聚合统计。 如果想要学习对应知识的可以观看哦。 ps:本篇内容友友们只要会创建表了就可以看起来了哦&#xff01;&am…...

鲸鱼机器人和乐高机器人的比较

鲸鱼机器人和乐高机器人各有其独特的优势和特点&#xff0c;家长在选择时可以根据孩子的年龄、兴趣、经济能力等因素进行综合考虑&#xff0c;选择最适合孩子的教育机器人产品。 优势 鲸鱼机器人 1&#xff09;价格亲民&#xff1a;鲸鱼机器人的产品价格相对乐高更为亲民&…...

游戏引擎学习第15天

视频参考:https://www.bilibili.com/video/BV1mbUBY7E24 关于游戏中文件输入输出&#xff08;IO&#xff09;操作的讨论。主要分为两类&#xff1a; 只读资产的加载 这部分主要涉及游戏中用于展示和运行的只读资源&#xff0c;例如音乐、音效、美术资源&#xff08;如 3D 模型和…...

详解模版类pair

目录 一、pair简介 二、 pair的创建 三、pair的赋值 四、pair的排序 &#xff08;1&#xff09;用sort默认排序 &#xff08;2&#xff09;用sort中的自定义排序进行排序 五、pair的交换操作 一、pair简介 pair是一个模版类&#xff0c;可以存储两个值的键值对.first以…...

AI驱动的桌面笔记应用Reor

网友 竹林风 说&#xff0c;已经成功的用 mxbai-embed-large 映射到 text-embedding-ada-002&#xff0c;并测试成功了。不愧是爱折腾的人&#xff0c;老苏还没时间试&#xff0c;因为又找到了另一个支持 AI 的桌面版笔记 Reor Reor 简介 什么是 Reor ? Reor 是一款由人工智…...

搜维尔科技:使用sensglove触觉反馈手套进行虚拟拆装操作

使用sensglove触觉反馈手套进行虚拟拆装操作 搜维尔科技&#xff1a;使用sensglove触觉反馈手套进行虚拟拆装操作...

深入理解电子邮件安全:SPF、DKIM 和 DMARC 完全指南

引言 在当今数字时代&#xff0c;电子邮件已经成为我们日常通信中不可或缺的一部分。然而&#xff0c;随之而来的安全问题也日益突出。邮件欺诈、钓鱼攻击和垃圾邮件等威胁不断增加&#xff0c;这促使了多种邮件安全验证机制的出现。本文将深入探讨三个最重要的邮件安全协议&a…...

【有啥问啥】复习一下什么是NMS(非极大值抑制)?

复习一下什么是NMS&#xff08;非极大值抑制&#xff09;&#xff1f; 什么是NMS&#xff1f; NMS&#xff08;Non-Maximum Suppression&#xff09;即非极大值抑制&#xff0c;是一种在计算机视觉领域&#xff0c;尤其是目标检测任务中广泛应用的后处理算法。其核心思想是抑…...

Java-异步方法@Async+自定义分布式锁注解Redission

如果你在使用 @Async 注解的异步方法中,使用了自定义的分布式锁注解(例如 @DistributedLock),并且锁到期后第二个请求并没有执行,这可能是由于以下几个原因导致的: 锁的超时时间设置不当:锁的超时时间可能设置得太短,导致锁在业务逻辑执行完成之前就已经自 动释放。…...

基本定时器---内/外部时钟中断

一、定时器的概念 定时器&#xff08;TIM&#xff09;&#xff0c;可以对输入的时钟信号进行计数&#xff0c;并在计数值达到设定值的时候触发中断。 STM32的定时器系统有一个最为重要的结构是时基单元&#xff0c;它由一个16位计数器&#xff0c;预分频器&#xff0c;和自动重…...

实现了两种不同的图像处理和物体检测方法

这段代码实现了两种不同的图像处理和物体检测方法&#xff1a;一种是基于Canny边缘检测与轮廓分析的方法&#xff0c;另一种是使用TensorFlow加载预训练SSD&#xff08;Single Shot Multibox Detector&#xff09;模型进行物体检测。 1. Canny边缘检测与轮廓分析&#xff1a; …...

如何在MindMaster思维导图中制作PPT课件?

思维导图是一种利用色彩、图画、线条等图文并茂的形式&#xff0c;来帮助人们增强知识或者事件的记忆。因此&#xff0c;思维导图也被常用于教育领域&#xff0c;比如&#xff1a;教学课件、读书笔记、时间管理等等。那么&#xff0c;在MindMaster免费思维导图软件中&#xff0…...

ORIN NX 16G安装中文输入法

刷机版本为jetpack5.14.刷机之后预装了cuda、cudnn、opencv、tensorrt等&#xff0c;但是发现没有中文输入&#xff0c;所以记录一下安装流程。 jetson NX是arm64架构的&#xff0c;sougoupinyin只支持adm架构的&#xff0c;所以要选择安装Google pinyin 首先打开终端&#x…...

【金融风控项目-07】:业务规则挖掘案例

文章目录 1.规则挖掘简介2 规则挖掘案例2.1 案例背景2.2 规则挖掘流程2.3 特征衍生2.4 训练决策树模型2.5 利用结果划分分组 1.规则挖掘简介 两种常见的风险规避手段&#xff1a; AI模型规则 如何使用规则进行风控 **使用一系列逻辑判断(以往从职人员的经验)**对客户群体进行区…...

退款成功订阅消息点击后提示订单不存在

问题表现&#xff1a; 退款成功发送的小程序订阅消息点击进入后提示订单不存在。 修复方法&#xff1a; 1.打开文件app/services/message/notice/RoutineTemplateListService.php 2.找到方法sendOrderRefundSuccess 3.修改图中红圈内的链接地址 完整方法代码如下 /*** 订…...

实验一 顺序结构程序设计

《大学计算机&#xfe63;C语言版》实验报告 实验名称 实验一 顺序结构程序设计 实验目的 &#xff08;1&#xff09;掌握C语言中常量和变量的概念。 &#xff08;2&#xff09;掌握C语言中常见的数据类型。 &#xff08;3&#xff09;掌握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的配置目录&#xff0c;挂载在宿主机上方便修改,里面有config.…...

Flink监控checkpoint

Flink的web界面提供了一个选项卡来监控作业的检查点。这些统计信息在任务终止后也可用。有四个选项卡可以显示关于检查点的信息:概述(Overview)、历史(History)、摘要(Summary)和配置(Configuration)。下面依次来看这几个选项。 Overview Tab Overview选项卡列出了以…...

Ribbon 入门实战指南

Ribbon 是 Netflix 开发的一个开源项目&#xff0c;用于实现客户端负载均衡功能。它在微服务架构中广泛使用&#xff0c;并且是 Spring Cloud 生态中的重要组成部分。本文将带你从基础入门&#xff0c;逐步掌握如何在 Spring Cloud 项目中使用 Ribbon 实现客户端负载均衡。 1 负…...

uniapp: 微信小程序包体积超过2M的优化方法(主包从2.7M优化到1.5M以内)

一、问题描述 在使用uniapp进行微信小程序开发时&#xff0c;经常会遇到包体积超过2M而无法上传&#xff1a; 二、解决方案 目前关于微信小程序分包大小有以下限制&#xff1a; 整个小程序所有分包大小不超过 30M&#xff08;服务商代开发的小程序不超过 20M&#xff09; 单个…...

【百日算法计划】:每日一题,见证成长(026)

题目 给定一个包含正整数、加()、减(-)、乘(*)、除(/)的算数表达式(括号除外)&#xff0c;计算其结果。 表达式仅包含非负整数&#xff0c;&#xff0c; - &#xff0c;&#xff0c;/ 四种运算符和空格 。 整数除法仅保留整数部分。 * * 示例 1: 输入: “32X2” 输出: 7 import…...

网站如何生成app/重大军事新闻

虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。 未能启动虚拟机。 分析&#xff1a;该虚拟机环境之前使用的VMware版本与你所使用的VMware版本不一致。大概率你使用的是刚从别人电脑里拷过来的虚拟机环境。 解决&#xff1a; 把数字改…...

wordpress 小插件/推荐几个靠谱的网站

项目中用到了消息对话框,类似于Messagebox,然后我就自定义了个Messagebox,其中用到了label自适应,自动换行,先看效果图吧。 按照下面步骤来来 1 新建一个Form为BasicDialog,form里添加一个label,BasicDialog大小为(440,240) 2 label的autosize为true,MaximumSize为…...

wordpress 3d标签云/竞价账户

在PHP中&#xff0c;数组函数 array_walk () 使用回调函数遍历数组元素。 函数语法&#xff1a; array_walk ( array &$array , callable $callback [, mixed $userdata NULL ] ) : bool 函数参数说明&#xff1a; 参数描述array必需。规定数组。callback必需。一般情况…...

做微课常用的网站有哪些/福州百度推广排名优化

插件描述&#xff1a;clock.js是一款简单的HTML5模拟时钟jQuery插件。该HTML5模拟时钟基于Canvas制作&#xff0c;有3种内置的主题&#xff0c;它带有时钟表盘界面和数字刻度&#xff0c;简单实用。使用方法使用该时钟插件需要在页面中引入jquery和clock.js文件。HTML结构可以实…...

如何做网站不容易被攻击/自己有货源怎么找客户

1.Perl的标量代表的是单数&#xff0c;列表和数组代表的是复数2.列表是标量的有序集、数组是包含列表的变量。3.列表是指数据&#xff0c;而数组是其变量名。4.可以有一些值&#xff08;列表&#xff09;但不属于数组&#xff1b;但每一个数组标量都有一个列表&#xff0c;虽然…...

seo网站改版方案怎么写/网络推广工作能长久吗

转自&#xff1a;http://blog.csdn.net/jgw2008/article/details/77993399 在使用Robot Framework测试Android机器过程中, 经常要用到滚屏操作, 改如何实现这个效果呢? 其中一个方法, 就是使用关键字"Swipe", 这个关键字的效果类似模拟操作人员滑动屏幕的效果, 它有…...