版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a870542373/article/details/50412535
设有一数列,包含10 个数,已按升序排好。现要求编一程序,它能够把从指定位置开始的n个数按逆序重新排列并输出新的完整数列。进行逆序处理时要求使用指针方法(例如:原数列为2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20。)
#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;
}