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

【03】逆序数组

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

一、逆序函数是什么?

二、逆序函数原码

1.直接逆序

 2.创建临时数组逆序

三、结言


💥一、逆序函数是什么?

示例:输入1 4 7 9 3

输出:3 9 7 4 1

通俗来说就是将数组一行数据倒着打印。

✨二、逆序函数原码

🥳1.直接逆序

思路:

1.利用scanf与for循环获取多组数据;

2.用left与right两个变量进行左右交换,交换完左边向右靠近,右边向左边靠近,继续交换,直到       left>=right为止

图示如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void reverse()
{int i = 0;int j = 0;int tmp = 0;printf("请输入你要输入数的个数:");scanf("%d", &j);int arr[] = { 0 };//注意这里数组没有确定个数for (i = 0; i < j; i++){scanf("%d", &arr[i]);}int left = 0;int right = j-1;while (left <= right)//利用左右下标逐渐向中间靠近{tmp = arr[left];arr[left] = arr[right];arr[right] = tmp;left++;right--;}for(i = 0;i <=j-1;i++){ printf("%d\n",arr[i]);}}
int main()
{reverse();return 0;
}

由于上述代码利用数组存储个数时没有确定数组个数就会导致如下情况: 

正确做法:

int arr[10] = {0}//允许输入十个数以内的逆序,也可换成100或者其他

修改后代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void reverse()
{int i = 0;int j = 0;int tmp = 0;printf("请输入你要输入数的个数(<10):");scanf("%d", &j);int arr[10] = { 0 };for (i = 0; i < j; i++){scanf("%d", &arr[i]);}int left = 0;int right = j-1;while (left <= right)//利用左右下标逐渐向中间靠近{tmp = arr[left];arr[left] = arr[right];arr[right] = tmp;left++;right--;}for(i = 0;i <=j-1;i++){ printf("%d\n",arr[i]);}}
int main()
{reverse();return 0;
}

 🥳🥳2.创建临时数组逆序

思路:

将数组的数从后往前放入到临时创建的数组中

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void reverse()
{int i = 0;int j = 0;int tmp = 0;printf("请输入你要输入数的个数(<10):");scanf("%d", &j);int arr[10] = { 0 };for (i = 0; i < j; i++){scanf("%d", &arr[i]);}//直接逆序//tmp = arr[j];//先将最后一个数存储起来//for (i = j; i > 0; i--)//{//	arr[j] = arr[j - 1];//循环逆转//}//arr[0] = tmp;//将第一个储存最后一个数完成逆转//创建临时数组实现逆序int tem[10] = { 0 };//创建临时数组for (i = 0; i < j; i++){tem[i] = arr[j-i- 1];//将arr数组后面的数存储到tem数组前面}for(i = 0;i <=j-1;i++)//打印逆序后的数组{ printf("%d\n",arr[i]);}}
int main()
{reverse();return 0;
}

🎉三、结言

        以上就是C语言实现逆序数组完整实现啦~🌹🌹🌹土土这里用了两种方法一种是直接发利用左右两个指针来遍历,另一种是创建临时数组来将原来的数组中的数从后往前放置,两种方法各有优缺点哦~如果有什么问题,欢迎打在评论区或者私法给我哦~💖💖

相关文章:

【03】逆序数组

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、逆序函数是什么&#xff1f; 二、逆序函数原码 1.直接逆序 2.创建临时数组逆序 三、结言 &#x1f4a5;一、逆序函数是什么&#xff1f; 示例&#xff1a;输入1 4 …...

基于Prony算法的系统参数辨识matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 Prony算法是一种用于信号处理和系统辨识的经典方法&#xff0c;特别适用于线性时不变系统&#xff08;LTI&#xff09;的频率响应分析以及模拟复指数信号序列。其…...

创建第一个React项目

React脚手架 npx create-react-app react-demonpx是直接从互联网网上拉最新的脚手架进行创建react 运行React项目 npm start若想找到Webpack配置文件 npm ejectReact的基本使用 基本步骤 导入react和react-dom vue 创建react元素 渲染react元素到页面中导入 import React…...

Redis篇之Redis持久化的实现

持久化即把数据保存到可以永久保存的存储设备当中&#xff08;磁盘&#xff09;。因为Redis是基于内存存储数据的&#xff0c;一旦redis实例当即数据将会全部丢失&#xff0c;所以需要有某些机制将内存中的数据持久化到磁盘以备发生宕机时能够进行恢复&#xff0c;这一过程就称…...

dpdk环境搭建和工作原理

文章目录 1、DPDK环境搭建1.1、环境搭建1.2、编译DPDK 2、DPDK工作原理 1、DPDK环境搭建 1.1、环境搭建 工具准备&#xff1a;VMware、ubuntu16.04。 &#xff08;1&#xff09;VMware添加两个网卡。桥接网卡作为 DPDK 运行的网卡&#xff0c;NAT 网卡作为 ssh 连接的网卡。 …...

接口测试实战--自动化测试流程

一、项目前期准备 常见项目软件架构: springMvc:tomcat里运行war包(在webapps目录下) springboot:java -jar xx.jar -xms(**) 运行参数 springCloud:k8s部署,使用kubectl create -f xx.yaml 接口自动化测试介入需越早越好,只要api定义好就可以编写自动化脚本; 某个…...

babylonjs中文文档

经过咨询官方&#xff0c;文档已经添加了开源协议。 基于目前babylonjs没有中文文档&#xff0c;为了打造更好的babylonjs生态圈 &#xff0c;特和小伙伴们翻译了官方文档。 相关链接: 欢迎加群&#xff1a;464146715 官方文档 中文文档 Babylonjs案例分享...

WordPress使用

WordPress功能菜单 仪表盘 可以查看网站基本信息和内容。 文章 用来管理文章内容&#xff0c;分类以及标签。编辑文章以及设置分类标签&#xff0c;分类和标签可以被添加到 外观-菜单 中。 分类名称自定义&#xff1b;别名为网页url链接中的一部分&#xff0c;最好别设置为中文…...

IDEA 2021.3激活

1、打开idea&#xff0c;在设置中查找Settings/Preferences… -> Plugins 内手动添加第三方插件仓库地址&#xff1a;https://plugins.zhile.io搜索&#xff1a;IDE Eval Reset 插件进行安装。应用和使用&#xff0c;如图...

进度条小程序

文章目录 铺垫回车换行缓冲区概述强制冲刷缓冲区 简单实现倒计时功能进度条小程序版本一实例代码效果展示分析 版本二 铺垫 回车换行 回车和换行是两个独立的动作 回车是将光标移动到当前行的最开始&#xff08;最左侧&#xff09; 换行是竖直向下平移一行 在C语言中&…...

K8S安装部署

常见的K8S安装部署方式 Minikube Minikube是一个工具&#xff0c;可以在本地快速运行一个单节点微型K8S&#xff0c;仅用于学习、预览K8S的一些特性使用。 部署地址&#xff1a;Install Tools | Kubernetes Kubeadm Kubeadm也是一个工具&#xff0c;提供kubeadm init和kube…...

AI大模型与小模型之间的“脱胎”与“反哺”(第一篇)

一、AI小模型脱胎于AI大模型&#xff0c;而AI小模型群又可以反哺AI大模型 AI大模型&#xff08;如GPT、BERT等&#xff09;通常拥有大量的参数和训练数据&#xff0c;能够生成或理解复杂的文本内容。这些大模型在训练完成后&#xff0c;可以通过剪枝、微调等方式转化为小模型&…...

C#学习总结

1、访问权限 方法默认访问修饰符&#xff1a;private 类默认访问修饰符&#xff1a;internal 类的成员默认访问修饰符&#xff1a;private 2、UserControl的使用 首先添加用户控件 使用时一种是通过代码添加&#xff0c;一种是通过拖动组件到xaml中...

计算机网络-网络互联

文章目录 网络互联网络互联方法LAN-LAN&#xff1a;网桥及其互连原理使用网桥实现LAN-LAN使用交换机扩展局域网使用路由器连接局域网 LAN-WANWAN-WAN路由选择算法非自适应路由选择算法自适应路由选择算法广播路由选择算法&#xff1a;分层路由选择算法 网络互联 网络互联是指利…...

免费的ChatGPT网站( 7个 )

ChatGPT 是由 OpenAI 公司研发的一款大型语言模型&#xff0c;它可以实现智能聊天、文本生成、语言翻译等多种功能。以下是 ChatGPT 的详细介绍&#xff1a; 智能聊天&#xff1a;ChatGPT 可以与用户进行自然语言对话&#xff0c;回答用户的问题&#xff0c;提供相关的信息和建…...

Opencv3.2 ubuntu20.04安装过程

##1、更新源 sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" sudo apt update##2、安装依赖库 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavfor…...

OpenGL ES (OpenGL) Compute Shader 计算着色器是怎么用的?

OpenGL ES (OpenGL) Compute Shader 是怎么用的? Compute Shader 是 OpenGL ES(以及 OpenGL )中的一种 Shader 程序类型,用于在GPU上执行通用计算任务。与传统的顶点着色器和片段着色器不同,Compute Shader 被设计用于在 GPU 上执行各种通用计算任务,而不是仅仅处理图形…...

Python爬虫进阶:爬取在线电视剧信息与高级检索

简介&#xff1a; 本文将向你展示如何使用Python创建一个能够爬取在线电视剧信息的爬虫&#xff0c;并介绍如何实现更高级的检索功能。我们将使用requests和BeautifulSoup库来爬取数据&#xff0c;并使用pandas库来处理和存储检索结果。 目录 一、爬取在线电视剧信息 …...

Floor报错原理详解+sql唯一约束性

目录 floor报错原理 唯一性约束 主键约束&#xff1a; 创建约束的形式 删除约束 删除唯一性约束&#xff08;UNIQUE Constraint&#xff09; 在SQL Server中&#xff1a; 在MySQL中&#xff1a; 在PostgreSQL中&#xff1a; 删除主键约束&#xff1a; floor报错原理 …...

Arduino中安装ESP32网络抽风无法下载 暴力解决办法 python

不知道什么仙人设计的arduino连接网络部分&#xff0c;死活下不下来。&#xff08;真的沙口&#xff0c;第一次看到这么抽风的下载口&#xff09; 操作 给爷惹火了我踏马解析json选zip直接全部下下来 把这个大家的开发板管理地址下下来跟后面python放在同一目录下&#xff0c…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...