正文

将数组中n个整数按照相反顺序存放2009-10-07 22:39:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/cunzhang/48987.html

分享到:

/*=============================================================
            将数组中n个整数按照相反顺序存放
            算法分析:
                    1、如果n为偶数,则->n/2,a[i]<->a[n-1-i]
                    2、如果n为奇数,则->n/2-1,a[i]<->a[n-1-i]
                    总之i->(int) (n/2)  a[i]<->a[n-1-i]
==============================================================
             作者:最后的村长
             时间:2009年10月5日
             工具:DEV C++ 4.9.9.2
             version:1.0
==============================================================*/
#include <stdio.h>
#include <stdlib.h>
#define N 11//定义数组的大小
void exchange(int *p,int n); //函数声明
/*=============================================================*/
int main()
{
    int a[N];//定义数组
    for(int i=0;i<N;i++)//初始化数组
    {
            printf("请输入数组第%d个元素",i+1);
            scanf("%d",&a[i]);
            }
            int *p;//定义指针变量 p
            p=a;//指针变量指向数组头地址 p=a
            exchange(p,N);//数组逆序
            printf("逆序输出数组为:");
            p=a;
            for(int i=0;i<N;i++)//逆序数组输出
            {
                    printf("\n数组第%d个元素是%d",i+1,*(p++));
                    }
    system("PAUSE");
    return 0;
   
}
void exchange(int *p,int n)//数组逆序排列 i->(int) (n/2)  a[i]<->a[n-1-i]
{
     int temp;
     for(int i=0;i<(int)(n/2);i++)
     {
             temp=*(p+i);
             *(p+i)=*(p+n-1-i);
             *(p+n-1-i)=temp;
             }
 }

阅读(3188) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册