C语言之数组反转

C语言之数组反转数组反转是数组常见操作。大概来写一写数组反转添加上自己的理解注释。#include<stdio.h>#defineN6intmain(){inta[N]={0,1,2,3,4,5};inti;intt;intj;//反转算法for(i=0;i<N/2;i++){t=a[i];a[i]=a[N-1-i];a[N-1-i]=t;//遍历输出,每对换一对数值就打印一次数组

大家好,又见面了,我是你们的朋友全栈君。

数组反转是数组常见操作。大概来写一写数组反转添加上自己的理解注释。

#include <stdio.h>
#define N 6

int main()
{ 
   
  int a[N] = { 
   0,1,2,3,4,5};
  int i;
  int t;
  int j;
  
//反转算法
  for(i=0;i<N/2;i++)
  { 
   
    t = a[i];
    a[i] = a[N-1-i];
    a[N-1-i] = t;

//遍历输出,每对换一对数值就打印一次数组
    for (j=0;j<N;j++)
    { 
   
      printf("%d\t",a[j]);
    }
      printf("\n");
  }
}

反转算法就是将第0个和最后一个(第N-1个)数值对换,第1个和第N-2个数值对换,依次类推,第i个和第N-1-i个数值对换。
如果数组元素是偶数个,正好是最中间两个元素数值对换;如果是奇数个元素,中间一个元素不需要对换,比如数组a共5个元素,i<N/2就是i<2,则a[0]和a[4]对换,a[1]和a[3]对换,a[2]保持原数值即可。

输出结果:
在这里插入图片描述
如果想直接获得反转之后的数组结果:

#include <stdio.h>
#define N 6

int main()
{ 
   
  int a[N] = { 
   0,1,2,3,4,5};
  int i;
  int t;
  int j;
  
//反转算法
  for(i=0;i<N/2;i++)
  { 
   
    t = a[i];
    a[i] = a[N-1-i];
    a[N-1-i] = t;
  }
  //遍历输出,数组反转之后结果输出
    for (j=0;j<N;j++)
    { 
   
      printf("%d\t",a[j]);
    }
      printf("\n");
}

执行结果:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136686.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • sql数据库查询语句大全_sql基本语句大全

    sql数据库查询语句大全_sql基本语句大全1、今天select*from表名whereto_days(时间字段名)=to_days(now());2、昨天SELECT*FROM表名WHERETO_DAYS(NOW())-TO_DAYS(时间字段名)<=13、近7天SELECT*FROM表名whereDATE_SUB(CURDATE(),INTERVAL7DAY)<=date(时间字段名)4、近30天SELECT*FROM表名where

  • ADO.NET基础

    ADO.NET基础ADO.NET基础

  • 网络分析工具——WireShark的使用(超详细)[通俗易懂]

    网络分析工具——WireShark的使用(超详细)[通俗易懂]网络分析工具——WireShark的使用简介WireShark软件安装Wireshark开始抓包示例WireShark抓包界面WireShark主要分为这几个界面TCP包的具体内容Wireshark过滤器设置wireshark过滤器表达式的规则Wireshark抓包分析TCP三次握手Wireshark分析常用操作简介WireShark是非常流行的网络封包分析工具,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程中各种问题定位。本文主要内容包括:1、Wireshark软件下载和安装以

  • android 模拟器 haxm,Android模拟器不使用HAXM

    android 模拟器 haxm,Android模拟器不使用HAXM我遇到HAXM问题.在我使用Windows7之前,一切都很好,但升级到Win8.1Pro后,当我从AVD屏幕启动模拟器时,我看不到haxm启动消息.HAXM安装并正常工作,我安装了x86的图像,我的设备使用它但仍然无法在启动窗口中看到Emulator正在使用haxm的确认消息.这是情况;>我的处理器支持vt.>我检查了我的服务,所有Hyper-VT服务都“停止”>HAXM…

  • SpringBoot — 软件许可(License)证书生成+验证+应用完整流程

    SpringBoot — 软件许可(License)证书生成+验证+应用完整流程一、项目目录树结构由于时间有限,不可能在博客上花太多时间、也不可能每一个细节都说的很细,所以,下面的内容虽然一时间看着比较懵,但是文末有项目的GitHub地址,或者不懂的可以留言;这个是粗糙的项目结构,没有细分,实际应用的话应该是授权的代码要和验证的代码分开,防止授权的代码引进客户端系统中,被激活成功教程和拆穿,也为了防止公钥st…

  • php 编译安装curl 扩展

    php 编译安装curl 扩展问题:线上运行的lamp服务器,默认yum安装的curl模块只支持http,不支持https。解决方法:编译安装curl,重新编译php,使php的curl模块支持https。具体步骤:1、下载curlcd/usr/local/src#进入安装包存放目录wgethttp://curl.haxx.se/download/curl-7.44.0.tar.gz#下载2、安装curlcd/usr/local/srctarzxvfcurl-7.44.0.tar..

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号