问题标题: 酷町堂:3989

0
0
已解决
江齐悦
江齐悦
高级光能
高级光能

题目描述 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


0
已采纳
李瑞曦
李瑞曦
高级天翼
高级天翼

你可以根据"数组循环右移"的代码写出这一题!(只要你3993会写就行~~(*^_^*))

(因为我还没学到,所以只能告诉你这些,嘻嘻~~😀)

0
0
梁志鑫宇
梁志鑫宇
中级守护
中级守护

参考思路:

1、输入数组元素1——n。

2、定义计数器(初为1)和b数组。

3、循环:n——m。

4、循环内:a[i]赋给b[c],c++。

5、出循环后,再来循环:1——n-m。

6、循环内:a[i]赋给b[c],  c++。

7、顺序输出b数组。

望采纳!!!

梁志鑫宇在2020-04-08 15:21:58追加了内容

有问题评论我!

梁志鑫宇在2020-04-08 19:39:51追加了内容

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

b[c]=a[i];

c++;

}

第三、四步的,不能再多了!

我要回答