• C语言程序设计教程(第三版)课后习题10.4


    1353: C语言程序设计教程(第三版)课后习题10.4

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 296  Solved: 219
    [Submit][Status][BBS]

    Description

    有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。

    Input

    输入数据的个数n n个整数移动的位置m

    Output

    移动后的n个数

    Sample Input

    10
    1 2 3 4 5 6 7 8 9 10
    2

    Sample Output

    9 10 1 2 3 4 5 6 7 8 

    #include <stdio.h>
    const  int N=100000;
    int n,a[N],b[N],m;
    void Move()
    {
        for(int i=0; i<m; i++)
        {
            b[m-1-i]=a[n-1-i];//另开一个数组,从后往前存,a数组的最后几个数先腾到一边
    
        }
        for(int i=n-1; i>=0; i--)
        {
            if(i>=m)
                a[i]=a[i-m];
            if(i<m)
                a[i]=b[i];//直接赋值到a数组的前面
        }
    }
    int main()
    {
        while(scanf("%d",&n)!=EOF)
        {
            for(int i=0; i<n; i++)
            {
                scanf("%d",&a[i]);
            }
            scanf("%d",&m);
            Move();
            for(int i=0; i<n; i++)
            {
                printf("%d ",a[i]);
            }
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    vant的table
    element table行hover时显示弹窗
    [转]Java基础面试题(2022最新版汇总)
    Windows开机自启动运行Java的jar包
    CEPH的CephFS和RDB的区别
    readlink
    使用系统日志定位coredump
    MySql是否需要commit详解
    mysql预编译
    trap命令
  • 原文地址:https://www.cnblogs.com/tianmin123/p/5018332.html
Copyright © 2020-2023  润新知