C语言 逆序一个数组的代码实现

原创 2015年07月08日 21:38:13
//这是一道经典的面试题
#include <stdio.h>
/**
*  逆序数组用for
*
*  @param a   数组名
*  @param len 数组长度
*/
void nixuArr(int a[],int len){
    //定义一个指数组指针
    int *p=a;
    //定义下标并且实现转换
    for (int i=0,j=len-1; i<j; i++,j--) {
        int temp;
        temp =*(p+i);
        *(p+i)=*(p+j);
        *(p+j)=temp;
    }
}


/**
*  逆序数组用wile
*
*  @param a   数组名
*  @param len 数组长度
*/
void nixuArr2(int a[],int len){
    //定义一个数组指针
    int *p=a;
    //定义下标
    int j=len-1;
    int i=0;
    while (i<j) {
        //实现下标转换
        int temp;
        temp = *(p+i);
        *(p+i)=*(p+j);
        *(p+j)=temp;
        i++,j--;
    }
}

int main(int argc, const char * argv[]) {
    // 输入一个数组
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    //带入函数
    nixuArr(arr,10);
    //遍历数组并且打印
    for (int i=0; i<10; i++) {
        printf("%d\t",arr);
    }
        return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言实验——数组逆序

Description 输入10个整数存入一维数组,按逆序重新存放后再输出。 Input 输入包括一行。 10个以空格隔开的整数。 Output 逆序的10个整数,整数以空格隔开。 Sample In...
  • l769255844
  • l769255844
  • 2015年12月27日 16:55
  • 1281

Problem H: C语言实验——数组逆序

数组逆序
  • l769255844
  • l769255844
  • 2015年12月28日 14:45
  • 460

C++语言实验——数组逆序

#include using namespace std; int main() { int a[10],i; for(i=0;i>a[i]; } for(i=9;i...
  • as1246170471
  • as1246170471
  • 2014年12月25日 08:15
  • 938

C语言,将一个数组中的值按逆序重新存放,例如,原来的顺序是8,6,5,4,1。要求改为1,4,5,6,8

C
  • luo446718254
  • luo446718254
  • 2016年08月31日 17:20
  • 7597

求数组逆序对数

题目: 对于一个元素个数为n的数组A,若*A[i] > A[j],且0 解析: 对于这一个题目,最容易想到的方法即顺序扫描整个数组。没扫描到一个元素,则将该元素与其后面的所有元素进行比较,若...
  • acaiwlj
  • acaiwlj
  • 2013年09月03日 16:56
  • 1386

(c语言)输入一个整数,将其逆序输出

问题描述: 输入一个整数,将其逆序输出 代码如下: #include int main() { int i; int n=0; int a[10]; printf("please ent...
  • live_wyq
  • live_wyq
  • 2015年04月11日 12:56
  • 10323

【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)

帮朋友做的,好像是一个面试题。如果仅仅是考察递归的话,应该是够了,程序的健壮性和通用性都很一般的说……...
  • zhyl8157121
  • zhyl8157121
  • 2014年07月09日 14:25
  • 2453

C语言练习——逆序的三位数

逆序的三位数 题目内容: 程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。 输入格式: 每个测试是一个3位的...
  • iamyococo
  • iamyococo
  • 2014年12月01日 23:22
  • 6997

C语言 写一个函数,将一维数组中的元素逆序存放

// // main.c // c_test2 // // Created by vincent_guo on 13-3-26. // Copyright (c) 2013年 vincent_...
  • wfung_kwok
  • wfung_kwok
  • 2013年03月27日 14:25
  • 17140

数组逆序输出(递归)

#include #include using namespace std; void output(int array[], int index) { if(index == ...
  • CNnumen
  • CNnumen
  • 2010年07月22日 11:08
  • 1713
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言 逆序一个数组的代码实现
举报原因:
原因补充:

(最多只允许输入30个字)