设有一数列,包含10 个数,已按升序排好。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a870542373/article/details/50412535

设有一数列,包含10 个数,已按升序排好。现要求编一程序,它能够把从指定位置开始的n个数按逆序重新排列并输出新的完整数列。进行逆序处理时要求使用指针方法(例如:原数列为2468101214161820,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2461614121081820。)

#include <iostream.h>

void  method(int n,int m,int *a)

{

    int *p=a,*q=new int[m];

 

    p=p+n-1;

    for(int i=0;i<m;i++)

    {

 q[i]=*p;

 p++;

扫描二维码关注公众号,回复: 4137818 查看本文章

    }

    p=p-m;

    for(i=0;i<m;i++)

    {

 *p=q[m-1-i];

 p++;

    }

}

int main()

{

    inta[10]={2,4,6,8,10,12,14,16,18,20};

    method(4,5,a);

    for(int i=0;i<10;i++)

    {

 cout<<a[i]<<' ';

    }

    return 0;

}

猜你喜欢

转载自blog.csdn.net/a870542373/article/details/50412535