【题目描述】
将a数组中第一个元素移到数组末尾,其余数据依次往前平移一个位置。
【输入】
第一行为数组a的元素个数;
第二行为n个小于1000的正整数。
【输出】
平移后的数组元素,每个数用一个空格隔开。
【输入样例】
10
1 2 3 4 5 6 7 8 9 10
【输出样例】
2 3 4 5 6 7 8 9 10 1
C语言代码如下:
#include<stdio.h> int main(){ int n; //n为输入元素的个数 int a[1001]; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); //依次输入每个元素 } for(int i=1;i<=n;i++) { printf("%d ",a[i%n+1]); //利用i%n+1就能将第一个数到第n-1个数往后移 } //第n个数%n等于0,再加上1后就实现了在第一个数的位置 return 0; }
C++:
#include<iostream> using namespace std; int main(){ int n; //n为输入元素的个数 int a[1001]; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; //依次输入每个元素 } for(int i=1;i<=n;i++) { cout<<a[i%n+1]<<" "; //利用i%n+1就能将第一个数到第n-1个数往后移 } //第n个数%n等于0,再加上1后就实现了在第一个数的位置 return 0; }