循环移动



【描述】

给定一组整数,用数组保存整数,实现对数组中的数循环移动。假定共有n个整数,则要使前面各数顺序向后移m个位置,并使最后m个数变为最前面的m个数。

注意,不要用先输出后m个数,再输出前n-m个数的方法实现,也不要用两个数组的方式实现。

要求只用一个数组的方式实现,一定要保证在输出结果时,输出的顺序和数组中数的顺序是一致的。

【输入】

第一行包含一个正整数nn100)和一个正整数mmn),nm以空格间隔。

第二行包含n个正整数,整数以空格间隔。

【输出】

依次输出经过循环移动后数组中元素值,元素值以空格间隔。

【输入示例】

11 4

15 3 7667 84 87 13 67 45 34 45

【输出示例】

67 45 3445 15 3 76 67 84 87 13 

C代码】

---------------

#include<stdio.h>

#defineARRAY_SIZE 100

intmain(void) {

    int i, j, n, m, temp;

    int array[ARRAY_SIZE];

    scanf("%d%d", &n, &m);

    for(i = 0; i < n; ++i)

        scanf("%d", &array[i]);

    for(i = 1; i <= m; ++i) {

        temp = array[n - 1];

        for(j = 1; j < n; ++j) {

            array[n - j] = array[n - j - 1];

        }

        array[0] = temp;

    }

    for(i = 0; i < n; ++i)

        printf("%d ", array[i]);

    return 0;

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值