移动数组中最后一位元素到数组内第一位元素位置,其余元素向后移动一位

浮生若梦406 2022-02-28 09:51:28

我想请教一下各位, 这是我的代码,请问该如何实现将最后一位元素移动到数组内第一位元素位置

 

#include <iostream>
using namespace std;
const int SIZE = 5; // 定义数组大小

int main() {

     //1. 求解,将数组末尾元素移动至最前面,将其余元素后移一位
     // a[5] = {1,2,3,4,5} a[5] = {5,1,2,3,4}
    
     // 数据定义
    int a[SIZE] = {};
    cout << "输入五个数据,一行一个或一行多个,空格隔开: \n";
    for (int i = 0; i < SIZE; i++) {
        cin >> a[i];
    }

        cout << "数据输出是:";

    for (int i = 0; i < SIZE; i++) {
        cout << a[i] << " ";
    }
    cout << endl;

    int temp = a[4]; // 暂存数组内最后一项的值

    for (int i = 0; i < SIZE; i++) {
        a[i] = a[i+1]; 
    }

    a[SIZE-5] = temp;

    int n = 0;
    cout << "移动后输出:";

    while (n < SIZE) {

        cout << a[n++] << "\t";
    }


    return 0;
}

...全文
714 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2022-02-28
  • 打赏
  • 举报
回复

建议用纸把数组的格子图先画出来。

ooolinux 2022-02-28
  • 举报
回复
@ooolinux 把移动元素的步骤也画出来
真相重于对错 2022-02-28
  • 打赏
  • 举报
回复 1

for (int i = 0; i < SIZE; i++) {
a[i] = a[i+1];
}
这句话反了,应该是
for(int i=size-1;i>0;i--)
a[i]=a[i-1];

浮生若梦406 2022-03-21
  • 举报
回复
@真相重于对错 收到,谢谢

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧