1193 一维数组元素倒置

题目描述

有一个长度为n数组,需要将数组中从指定位置m开始的k个元素倒放在原来的数组中。

输入要求

第一行输入n,m,k (1<=n<=50,1<=m<=n,1<=k<=n-m+1)

第二行输入数组中的n个数。

m代表元素的实际位置而不是在数组中的下标值。

输出要求

输出倒置后的数组,两个数字之间用空格间隔。

输入样例

13 3 11
1 2 3 4 5 6 7 8 9 10 11 12 13

输出样例

1 2 13 12 11 10 9 8 7 6 5 4 3

 

#include<cstdio>
int main()
{
	int i,j,n,m,x,a[106],b[106],set=0;
	scanf("%d%d%d",&n,&m,&x);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	int p=m+x-1;
	int zll=p;
	for(i=m-1;i<zll;i++){
		p=p-1;
		b[i]=a[p];
	}
	for(i=m-1;i<zll;i++){
		a[i]=b[i];
	}
	for(i=0;i<n;i++){
		if(set==0){
			printf("%d",a[i]);
			set=1;
		}
		else{
			printf(" %d",a[i]);
		}
	}
	printf("\n");
}


版权声明:本文为weixin_62659979原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。