• 数字移位


    1188 数字移位

    题目描述

    有n个整数,要求将前面各数字顺序向后移动m个位置,并将最后面的m个数变成最前面m个数。其中,移动2个位置后的效果如下图所示:

    输入描述

    /*
    第一行输入两个正整数:n,m。n表示原始数据的个数,m表示需要向后移动的位置数。
    第二行输入这n个原始整数。(n<=100)
    */
    7 3
    1 2 5 4 7 8 3
    

    输出描述

    /*
    输出经过调整后的n个数。
    提示:输出时,最后一个数据后面直接换行。
    */
    7 8 3 1 2 5 4
    
    #include<stdio.h>
    void reverses(int a[],int left,int right){
        int i = 0;
        int temp=0;
        int mid = (right-left+1)/2;
        for(i=0;i<mid;i++){
            temp = a[i+left];
            a[i+left] = a[right-i];
            a[right-i] = temp;
        }
    }
    //1 2 5 4 7 8 3
    //3 8 7 4 5 2 1
    //7 8 3 1 2 5 4
    int main()
    {
        int n=0,m=0,i=0;
        int a[101];
        scanf("%d %d",&n,&m);
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        reverses(a,0,n-1);
        reverses(a,0,m-1);
        reverses(a,m,n-1);
        for(i=0;i<n-1;i++)
            printf("%d ",a[i]);
        printf("%d
    ",a[n-1]);
        return 0;
    }
    
  • 相关阅读:
    kotlin中值范围
    kotlin中集合
    kotlin数据解构
    Java 8 Lambda 表达式
    kotlin 之内联函数
    kotlin之函数的范围和泛型函数
    kotlin函数的参数和返回值
    kotlin 之单表达式函数
    kotlin使用中辍标记法调用函数
    kotlin之函数的基本用法
  • 原文地址:https://www.cnblogs.com/lwp-nicol/p/14285765.html
Copyright © 2020-2023  润新知