游客 Signup | Login
中文 | En

2083 - 【一维数组】数组元素移动(2)

读入N个整数存放在数组中,将每个元素依次后移一个位置,最后一个元素移动到第一个元素的位置。按照这种移动方法,总共移动x次,输出移动后的结果。

Input

第一行,一个整数n(n不超过100)

第二行:n个整数,相邻数值之间用一个空格分隔。

第三行:一个整数x(0<x<n)

Output

移动x次以后的结果

Examples

Input

10
1 2 3 4 5 6 7 8 9 10
2

Output

9 10 1 2 3 4 5 6 7 8

Solution C

#include <stdio.h>

int main()
{
	int i,n,x,a[1001]={0};
    scanf("%d",&n);
    for (i=1;i<=n;i++)
		scanf("%d",&a[i]);
    scanf("%d",&x);
    printf("%d",a[n-x+1]);
    for (i=n-x+2;i<=n;i++)
		printf(" %d",a[i]);
    for (i=1;i<=n-x;i++)
		printf(" %d",a[i]);
    printf("\n");
	
	return 0;
}

Solution C++

#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[110];
	for(int i=1;i<=n;i++)
	    cin>>a[i];
	int t,x;
	cin>>x;
	for(int i=1;i<=x;i++)
	{
		t=a[n];
		for(int j=n;j>=2;j--)
			a[j]=a[j-1];
		a[1]=t;
	}
	for(int i=1;i<=n-1;i++)
		cout<<a[i]<<' ';
	 cout<<a[n];
	//system("pause");
	return 0;
	
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题