问题标题: 酷町堂:3989   数组循环右移

0
0
已解决
武建豪
武建豪
中级天翼
中级天翼

3989   数组循环右移

经验值:800 时间限制:1000毫秒

题目描述 Description

实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a​[0]​​ a​[1]​​ ⋯a[​n−1])变换为(a[n−m] ⋯ a[n−1] a[0] a[1] ⋯ a[n−m−1])(最后m个数循环移至最前面的m个位置)。

输入描述 Input Description

输入数据为两行,第一行两个数据,分别表示数组元素的个数和循环右移的位数
第二行为数组元素

输出描述 Output Description

输出一行数据,即平移后的数组元素

样例输入 Sample Input

6 2 1 2 3 4 5 6

样例输出 Sample Output

5 6 1 2 3 4

数据范围及提示 Data Size & Hint

0<n<=100
0<=m<=n


1
已采纳
包思远
包思远
新手启示者
新手启示者
    定义 整形 n,m,a[105];
    输入n,m;
    for(整形 i=1;i<=n;i++){
        输入a[i];
    }
    for(整形 i=n-m+1;i<=n;i++){
        输出<<a[i]<<" ";
    }
    for(整形 i=1;i<=n-m;i++){
        输出<<a[i]<<" ";
    }

 

我要回答