题目描述
例5.2 读入n个整数到数组a,然后将a数组中第一个元素移到最后数组末尾,其余数据依次往前平移一个位置。(注意本题输入输出数据格式,教材中的例题程序读数和输出部分需修改)
提示:本题如果只是读入n个整数,再按输出格式的要求输出n个整数,有很多简单的方法实现,但本题希望大家严格按照题目描述要求,体会数组元素平移的操作方法。
输入
一行n个整数,n<=1000,所有整数不超过32767。
输出
按顺序输出平移后的数组元素的值,各整数之间用一个空格分隔,行尾不能有空格。
样例输入
1 2 3 4 5 6 7 8 9 10
样例输出
2 3 4 5 6 7 8 9 10 1
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <vector>
using namespace std;
#define N 10001
int a[N];
int main() {
int n;
cin >> n;
// 写入数组元素
for (int i = 0; i < n; i++) {
cin >> a[i];
}
if (n > 1) {
int p = a[0];
for (int i = 0; i < n - 1; i++) {
a[i] = a[i + 1];
}
a[n - 1] = p;
}
for (int i = 0; i < n; i++) {
cout << a[i];
if (i < n - 1) {
cout << " ";
}
}
return 0;
}