Alen


私信TA

用户名:dotcpp0716448

访问量:316

签 名:

等  级
排  名 9414
经  验 1158
参赛次数 0
文章发表 26
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<iostream>

using namespace std;

int main()

{

    int arr[100] = {0};//暂时存储数据

    int n,m;

    cin >> n;

    for(int i = 0; i < n;i++) cin >> arr[i];//赋值

    cin >> m;//移动的位置m

    //实现方法: 取一个暂时存储数据的数组,存储原数组的后m个数据

    int temp[m] = {0};

    int m_s = m;

    for(int i = n-m ; i < n ; i++)

    {

        temp[m_s--] = arr[i];// 10 - 2 = 8 ,arr[8] = arr[2--]

                             //反向赋值,待会重新赋值要从尾赋值

    }

    for(int i = n - m -1 ; i >= 0; i--)//原数组覆盖后m个数据,从尾部开始赋值

    {

        arr[i + m] = arr[i];// arr[8 + 2 -1 -1] = arr[8-1] // arr[7]

    }

    //对原数组前m位赋值:

    for(int i = 0 ; i < m;i++)

    {

        arr[i] = temp[m-i];

    }

    //输出:

    for(int i = 0; i < 10 ; i++) cout << arr[i] << " " ;

    return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »