22000849myx


私信TA

用户名:dotcpp0644928

访问量:58

签 名:

等  级
排  名 8932
经  验 1135
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 广东工业大学
专  业

  自我简介:

TA的其他文章

解题思路:

函数 rotate 接收三个参数:一个整数数组 arr,数组的长度 n,和要向后移动的位置数 m。函数的实现过程如下:

创建一个临时数组 temp,长度为 m,用来存储后面的 m 个元素。

将后面的 m 个元素存储到 temp 数组中。

将数组中前面的元素向后移动 m 个位置。

将 temp 数组中的元素复制到数组的前面 m 个位置。

最后,在主函数中,读取输入,调用 rotate 函数,输出结果即可。



注意事项:

参考代码:

#include
void rotate(int arr[], int n, int m) {
    int temp[m];
    for (int i = n - m, j = 0; i < n; i++, j++) {
        temp[j] = arr[i];
    }
    for (int i = n - m - 1; i >= 0; i--) {
        arr[i + m] = arr[i];
    }
    for (int i = 0; i < m; i++) {
        arr[i] = temp[i];
    }
}
int main() {
    int n, m;
    scanf("%d", &n);
    int arr[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    scanf("%d", &m);
    rotate(arr, n, m);
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

666
2023-06-10 19:37:26
  • «
  • 1
  • »