问题标题: 酷町堂:2216   数组循环平移

0
0
已解决
张弘毅
张弘毅
高级守护
高级守护

2216   数组循环平移

题目描述 Description

将a数组中第一个元素移到最后数组末尾,其余数据依次往前平移一个位置。输出移动过后数组元素,数组元素为不大于1000的正整数。

输入描述 Input Description

两行
第一行,数组元素个数n(4<n<20)
第二行,n个数组元素,数字之间用空格隔开

输出描述 Output Description

经过变化以后数组元素

样例输入 Sample Input

 

5
1 2 3 4 5

样例输出 Sample Output

 

2 3 4 5 1


1
已采纳
刘欣然
刘欣然
高级光能
高级光能

Accepted证明:

思路+伪代码

​文件头
整形定义 a[1100];
主函数main
    整形定义 n,j;
    输入>>n;
    for循环(整形定义 i=0;i<=n-1;i++)
        输入>>a[i];//循环输入
    j=a[0];//将a数组的第1个元素保留
    for循环(整形定义 i=0;i<=n-1;i++)//循环除了第1个元素不平移以外,其他元素一律平移
        a[i]=a[i+1];
        a[n-1]=j;////将a数组的最后个元素替代第1个元素
    for循环(整形定义 i=0;i<=n-1;i++) 
        输出<<a[i]<<" ";//循环输出
    返回值 0;

​

 

不要直接复制代码哦~自己先想~

望采纳哦~

0
刘英杰
刘英杰
新手天翼
新手天翼

事实上除了首项之外,其他只需再定义一个数组,循环赋值就行,小段代码for(i=2;i<=n;i++) b[i-1]=a[i]

0
刘英杰
刘英杰
新手天翼
新手天翼

事实上除了首项之外,其他只需再定义一个数组,循环赋值就行,小段代码for(i=2;i<=n;i++) b[i-1]=a[i]

0
黄依成
黄依成
中级天翼
中级天翼

这道题可以先输出a[2]到a[n],最后输出a[1]

0
武建豪
武建豪
中级天翼
中级天翼
嗯。。。你可以先输入数组a[(反正多少都行)]。然后定义n,读入n,遍历输入a[i]。

然后i=2;i<=n;i++;

输出a[i].

最后输出a[1].

望采纳

0
张弘毅
张弘毅
高级守护
高级守护

everybody,想要经验值的回答我这个问题,虽然已经AC了,但有着强迫症的我,看着我的未结贴问题就难受,如果想要经验值就回答,不过我要事先提醒一下:回答问题时,不能违背以下要求:

0
0
刘奕然
刘奕然
初级守护
初级守护

可以借助队列来实现,核心:

int tmp=q.front();
q.pop();
q.push(tmp);
//队列头文件#include<queue>
//定义队列:queue<int> q;

望采纳

0
曹博扬
曹博扬
初级天翼
初级天翼
定义 n;
    输入>>n;
    循环(int i=1;i<=n;i++){
        输入>>a[i-1];
    }
    循环(int i=1;i<=n-1;i++){
        输出<<a[i]<<空格;
    }
    输出<<a[0];

望采纳

还有

我要回答