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)


相关推荐

  • ER图详解及实例_er图例子

    ER图详解及实例_er图例子文章目录ER图基本概念ER图实例ER图基本概念ER图分为实体、属性、关系三个核心部分。在ER图中,实体是长方形,属性是椭圆形,关系为菱形。实体(entity):即数据模型中的数据对象(即数据表),用长方体来表示,每个实体都有自己的实体成员(entitymember)或者说实体对象(entityinstance),例如学生实体里包括张三、李四等。实体还会细分为弱实体和复合实体,一个实体…

  • DOS命令Copy 合并文件

    DOS命令Copy 合并文件我们都知道DOS命令Copy的主要作用是复制文件,可是你是否知道,它还有一个作用是合并文件呢?一般情况下,它主要用于合并相同类型的文件,比如将两个文本文件合并为一个文本文件、将两个独立的MPEG视频文件合并为一个连续的视频文件等。那么,如果用它合并两个不同类型的文件,结果会怎样呢?笔者发现,巧妙地将一个文本文件合并到一个非文本文件中,可以实现隐藏秘密的作用。一起来看看吧。比如你有一段私人信息…

  • 小米墨西哥市场_墨西哥有多危险

    小米墨西哥市场_墨西哥有多危险墨西哥小米之家首家开业

  • 解决double转 BigDecimal 时出现的精度失真问题

    解决double转 BigDecimal 时出现的精度失真问题解决double转BigDecimal时出现的精度问题比如,doubledd=344999.03d;转成BigDecimal类型,BigDecimalss=newBigDecimal(dd);最后,ss的值是344999.03000000002793967723846435546875失真了。解决方法是先将dd转换字符串,然后转换成BigDecimal。/…

  • SpringCloud系列之使用Feign进行服务调用

    SpringCloud系列之使用Feign进行服务调用

    2020年11月19日
  • java打印菱形思路[通俗易懂]

    java打印菱形思路[通俗易懂]总共2个大的for循环  里边有小的对吧第一个大的for是打印菱形的上半部分for(i=1;i  { 这个小的for是打印每一行前边的空格   for(j=1;j   System.out.print(“”); 这个是打印星星的   for(j=1;j   System.out.print(“*”); 这个是打印完一行的换行  S

发表回复

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

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