C语言程序设计第四版(何钦铭、颜晖)第八章指针之循环后移

  1. 循环后移:有n个整数,使前面各数顺序向后移m个位置,移出的数再从开头移入。编写一个函数实现以上功能,在主函数中输入n个整数并输出调整后的n个数。试编写相应程序。

    #include<stdio.h>
    #define MAXN 10
    int Loopshift(int a[],int b[],int n,int m);
    int main(){
    int a[MAXN],b[MAXN],n,m,i;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++){
    scanf("%d",&a[i]);
    }
    Loopshift(a,b,n,m);
    for(i=0;i<n;i++){
    printf("%d ",b[i]);
    }
    return 0;
    }
    int Loopshift(int a[],int b[],int n,int m){
    int k;
    m=m%n;
    for(k=0;k<n;k++){
    b[(k+m)%n]=a[k];
    }
    }

输入样例: 10 4

1 2 3 4 5 6 7 8 9 10

输出结果:7 8 9 10 1 2 3 4 5 6

相关推荐
货拉拉技术23 分钟前
Agent 场景下 Token 成本优化的实战技巧
算法
Dream Cosmos31 分钟前
Linux 多线程——线程互斥:从抢票问题到 Mutex 底层原理
linux·c++
hahaha601633 分钟前
HLS高层次综合设计技巧--循环merge和循环split
人工智能·算法·计算机视觉
JAI科研34 分钟前
Deepseek Agent Harness教程(七) | Deepseek Harness不是一个内核加一堆插件
开发语言·人工智能·深度学习·算法·自然语言处理·transformer·vllm
集思广益的灰太狼1 小时前
变频器启动致PLC数据异常?西门子G120配合滤波器EMC抑制方案
人工智能·算法·工控·emc·电磁兼容·变频器·西门子
zbyyd1 小时前
Linux 进程间通信(IPC):信号、消息队列、共享内存与信号量详解
linux·运维·c语言
Titan20241 小时前
HTTPS基础知识梳理
服务器·网络·c++·网络协议·学习·http·https
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】SSE协议
c++·学习·面试·大模型·sdk
方方洛1 小时前
vllm教程-03-架构设计
算法·架构
玄昌盛不会编程1 小时前
LeetCode——2091. 从数组中移除最大值和最小值
java·算法·leetcode