2082 - 【一维数组】数组元素移动(1)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

读入N个整数存放在数组中,将每个元素依次后移一个位置,最后一个元素移动到第一个元素的位置。

题目输入

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

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

题目输出

移动以后的结果,相邻数值之间用一个空格分隔,行末不要出现多余空格。

输入/输出样例

输入格式

10
1 2 3 4 5 6 7 8 9 10

输出格式

10 1 2 3 4 5 6 7 8 9

C语言解答

#include <stdio.h>

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

C++解答

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

}