移动升级版
题目描述
将从指定位置开始的 m个数逆序存放,比如 1245 从2开始 2个数逆序存放结果为 1 2 5 4
输入描述
输入保证数据合法
第一行 N,M,K
第二行 N个数
代表 从位置k 开始 逆序后面M个数
输出描述
逆序存放后的结果
样例
输入
4 2 2
1 2 4 5
输出
1 2 5 4
来源
C语言实验7——指针
C++实现
#include <iostream>
using namespace std;
int main() {
int n,m,k,*p,*q;
cin>>n>>m>>k;
int arr[n];
for(int &i : arr)
cin>>i;
p=arr;
q=(int *)malloc(m*sizeof(int));
for(int i=0;i<m;i++){
q[i]=arr[i+k];
}
for(int i=k+m-1,j=0;i>=k;i--,j++){
*(p+i)=q[j];
}
for(auto i : arr)
cout<<i<<' ';
free(q);
return 0;
}