将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
#include <bits/stdc++.h>
using namespace std; //调用基本输入输出库
int main()
{
int n;
int a[100010];
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
cout<<a[i%n+1]
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int *a=new int;
int n,m;
cout<<"请输入数组元素个数:";
cin>>n;
cout<<"请依次输入小于1000的数组元素:\n";
for(int i=0;i<n;i++){
cin>>*(a+i);
}
m=a[0];
for(int i=0;i<n;i++){
a[i]=a[i+1];
}
a[n-1]=m;
cout<<"平移之后的数组如下:";
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
system("pause");
return 0;
}
供参考:
#include<stdio.h>
#define N 10
int main()
{
int n, a[N], i, t;
scanf("%d", &n);
if (n<1 || n > N) n = N;
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
t = a[0];
for (i = 1; i < n; i++)
a[i - 1] = a[i];
a[i-1] = t;
for (i = 0; i < n; i++)
printf("%d ", a[i]);
return 0;
}