当前位置: 首页 > news >正文

C语言 每日一题 11.9 day15

数组元素循环右移问题

一个数组A中存有N( > 0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0​A1⋯AN−1)变换为(AN−M⋯AN−1 A0 ​A1⋯A
N−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?
输入格式 :
每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。
输出格式 :
在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。

思路

算法设计思路

设n个数,向右移动m位

将n-m个数存储在n后(注意m可能小于n)

打印m-n到n+n-m位置的信息即可

代码实现

#include <stdio.h>int main(){int n, m, x;int a[100];scanf("%d", &n);scanf("%d", &m);if(m>n){m = m % n;}for(int i=0; i<n; i++){scanf("%d", &x);a[i] = x;}for(int i=n; i<2*n-m; i++){a[i] = a[i-n];}for(int i=n-m; i<2*n-m; i++){if(i==2*n-m-1){printf("%d", a[i]);}else{printf("%d ", a[i]);}}return 0;
}

运行结果

http://www.lryc.cn/news/224187.html

相关文章:

  • STM32F103C8T6第三天:pwm、sg90、超声波、距离感应按键开盖震动开盖蜂鸣器
  • 栈的顺序存储实现(C语言)(数据结构与算法)
  • 设计模式 -- 观察者模式
  • Go RabbitMQ简介 使用
  • 【面经】Spring框架中用了哪些设计模式
  • SpringBoot自动配置的原理篇,剖析自动配置原理;实现自定义启动类!附有代码及截图详细讲解
  • 苹果Ios系统app应用程序开发者如何获取IPA文件签名证书时需要注意什么?
  • 算法通关村第七关-黄金挑战二叉树迭代遍历
  • 2023-11-Rust
  • iOS代码混淆----自动
  • 对Mysql和应用微服务做TPS压力测试
  • 将程序添加至右键菜单
  • 三板斧的使用、全局配置文件、静态文件的配置、orm介绍
  • 【编程实践】黑框框里的打字小游戏,但是汇编语言
  • ElasticSearch的集群、节点、索引、分片和副本
  • std::cout无法打印uint8_t类型的数据
  • 浅谈泛在电力物联网在智能配电系统应用
  • 已解决:云原生领域的超时挂载Bug — Kubernetes深度剖析
  • 概念解析 | 高光谱图像:揭开自然世界的神秘面纱
  • Java类和对象(1)
  • 百度上海智能研发中心一面
  • 硝烟后的茶歇 | 中睿天下谈攻防演练之邮件攻击溯源实战分享
  • Leetcode Hot 100之四:283. 移动零+11. 盛最多水的容器
  • 景联文科技助力金融机构强化身份验证,提供高质量人像采集服务
  • Spring Cloud LoadBalancer基础知识
  • 剖析WPF模板机制的内部实现
  • 计算机网络常见的名词解释
  • Android Studio导入,删除第三方库
  • 生成指定长度的随机数字,用对方法精准提效数10倍!
  • Vue3 + Naive-ui Data Table 分页页码显示不全