数组元素循环右移问题

PTA数组元素循环右移问题 数组元素循环右移问题 解题思路:一个数组中有N个数,向右移动M个位置,分别有三种情况:N>M、N=M(M%N==0)、N<M,要分别讨论。当N<M时,M对N取余,将M转换成小于N,N=M右移之后还是原样;当N<M时,移动结束后,第一位就成了原来的第N-M位,依次类推,下面是具体代码: #include<stdio.h> #define max 100 int main() { int n, m,temp, a[max], i; scanf("%d % 阅读详情

一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯A**N−1)变换为(A**N−M⋯A**N−1A0A1⋯A**N−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?

输入格式:

每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。

输出格式:

在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。

输入样例:

6 2
1 2 3 4 5 6结尾无空行

输出样例:

5 6 1 2 3 4



结尾无空行

answer

#include <stdio.h>
int main(){
	int N,M;
	scanf("%d %d",&N,&M);
	int number[N];
	for(int i = 0;i < N;i++){//将数字读入 
		scanf("%d",&number[i]);//注意& 
	}
	int time = M % N;//算出要移动的次数, 
	for(int i = 0;i < time;i++){
		int t = number[N-1];//先记录末尾元素,其余元素都后移一位 
		for(int j = N-1;j > 0;j--){
			number[j] = number[j-1];
		}
		number[0] = t;//开始元素等于末尾元素 
	}
	printf("%d",number[0]);
	for(int i = 1;i < N;i++){
		printf(" %d",number[i]);
	}                    
	return 0;
}
C语言数组元素循环右移问题及解决方法 主要介绍了C语言数组元素循环右移问题,本文通过多种方法给大家分享解决方案,通过实例代码讲解,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下 立即下载

相关推荐

解决C语言数组元素循环右移的问题

如下所示: #include<stdio> #define N 100 int main() { int a[N]; int i,j,k,n,m,temp=0; scanf(%d %d,&n,&m); i=0; while(i<n for(j=0;j temp=a[n-1]; for(k=n-1;k>=0;k--) { a[k]=a[k-1]; //向后移动 if(k==0) { a[k]=temp; }

【PAT (Basic Level) Practice (中文)】1008 数组元素循环右移问题 (20 分)python题解:

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

xu_haiao的博客 959

高速数字信号硬件设计:灵巧手方向核心技能与实战解析

在机器人产业加速演进的今天,灵巧手等高自由度末端执行器对硬件电路设计提出了更高要求。传统硬件工程师熟悉功能、功耗与EMC,而灵巧手设计还需在极小空间内融合多路电机驱动、高速数字接口与微弱模拟信号采集。信号完整性与电源完整性成为决定系统稳定性的关键:信号上升沿决定有效带宽,阻抗匹配、回流路径和去耦策略直接影响通信质量与抗干扰能力。从阻抗计算、等长设计到FPC布线,再到电源预算与纹波抑制,这些高速数字信号设计基础原理不仅适用于服务器主板,更是灵巧手控制器开发与调试的必修课。本文面向从事机器人硬件、嵌入式系统与电

weixin_29172963的博客 235

循环移位之循环左移和循环右移

循环左移,为什么先向右移。首先把前面几位(高位)空出来,根据位运算高位补0,在左移,低位补0。此时往左移的,低位就变成了前面的数字在进行位运算(有1得1)

m0_72376041的博客 1万+

41页PPT | 华为业务流程架构全景视图:全业务域L1-L3级流程全案

TBD、收集和生成线索、验证机会点、TBD、管理销售授权、管理销售项目、管理销售项目群、管理合同要素/模板、验证和分发线索、标前引导、管理开票和回款、客户网络评估、管理销售评审、TBD、管理交付项目群、管理合同文档、管理结构化合同信息、跟踪和培育线索、制定并提交标书、管理合同/PO变更、客户网络规划、管理销售决策。:4.1 管理技术、服务请求、4.2管理备件、服务交付、4.3管理非技术、服务请求、4.4管理客户、投诉。:管理Idea、产生Idea、激发兴趣与协作、孵化、原型和验证、确认Idea与商业化。

zuoan1993的博客 4547

技术前沿:半导体前道检测和量测设备修复技术

半导体前道检测设备是目前除光刻机外,国产渗透率较低的环节之一,近年来我国初步实现国产突破。前道检测相对后道检测环节壁垒更高,国内多家涉及后道测试,涉及前道检测和中道检测相对较少。

VOMMA的博客 4539

自测-3 数组元素循环右移问题(20 分)

一个数组A中存有N(&gt;0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N...

vir_lee的博客 1686

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

PTA(c) 1008 数组元素循环右移问题

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

qq_60689149的博客 2202

RAD Studio 12安装全攻略:从下载到破解InterBase的完整流程(附KeyPatch使用技巧)

本文提供RAD Studio 12的完整安装指南,包括系统要求、安装步骤及InterBase数据库的高效配置方法。详细介绍了如何使用KeyPatch工具进行许可证处理,并分享了IDE优化和开发技巧,帮助开发者快速上手这一强大的跨平台开发工具。

q6r7s8t9的博客 946

Linux ARM平台开发系列讲解(LED) 2.1.1 如何点亮一个LED之添加设备树信息

1. 设备树添加设备信息 我拿到的开发板上有两颗LED供用户编程使用,分别是GPIO5_IO8和GPIO5_IO9,设备信息如下,不同板子的设备定义不同,根据自己的实际情况进行添加。 2. 编译设备树 根据自己拿到的SDK,执行编译命令,我这里拿到的SDK编译脚本为: ./build.sh kernel 3. 使用uuu工具烧录新编译好的内核 因为imx8 SDK设备树和内核是统一编译成一个镜像,所以只需要烧录内核,设备树文件也会烧录。 sudo uuu -b emmc imx-kernel.bin

DSMGUOGUO的博客 917

循环右移

循环右移 【问题描述】 假设有一16位的无符号整数,可以对其二进制数据进行循环右移操作,右移后仍然是无符号整数。编写程序从控制台读入要右移的整数和循环右移的位数,求得并输出循环右移后的十进制数据。 【输入形式】 从控制台输入要右移的十进制整数(大于等于0,小于等于65535)和循环右移的位数(大于等于0,小于等于16),两整数之间用一个空格分隔。 【输出形式】 向控制台输出循环右移后的十进制整数。 【输入样例1】 65532 2 【输出样例1】 16383 【样例1说明】 输入的待右移的整数为655.

qjsssss的博客 8556

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计(CVPR2021)

YOLOv5改进 | 多尺度特征提取 | 结合多样分支块及融合的高级设计(CVPR2021)

qq_44224801的博客 2067

1008 数组元素循环右移问题

1008 数组元素循环右移问题 /* * 1.本题思路:本题解法比较巧妙,主要利用数组的转置 * 先将整个数组a倒置,再将数组前m位倒置 * 最后将数组后n-m位倒置即可完成循环右移m位。 * 2.注意点:如果m大于n,那么循环右移m位相当于循环右移m%n位 * 因为那些n倍数位的移动是多余的,所以在使用m之前,先将m = ...

weixin_38369593的博客 273

31、摩擦学中的材料选择

本博文深入探讨了摩擦学应用中材料选择的重要性,分析了材料的机械、物理和化学属性对摩擦学性能的影响。同时介绍了材料匹配原则、处理方法及表面涂层技术,以优化耐磨性和抗腐蚀性。通过实际案例和评估方法,为读者提供了系统化的材料选择流程和决策依据。

juice的博客 245

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

PAT 1008 数组元素循环右移问题

一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0​A1​⋯AN−1​)变换为(AN−M​⋯AN−1​A0​A1​⋯AN−M−1​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?

tomlucifer的博客 835

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

1008 数组元素循环右移问题 (20 分)

1008 数组元素循环右移问题 (20 分) 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法? 输入格式: 每个输入包含一个测试用例,第1行输入N(1≤...

一起加油 4173

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PAT -1008 数组元素循环右移问题

1008数组元素循环右移问题(20分) 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A...

森宝的博客 367

C语言PAT刷题 - 1008 数组元素循环右移问题

并非大佬,仅仅分享自己在PAT刷题过程中的解题思路,希望能对遇到问题的朋友有所帮助。若有错漏,欢迎指正,也欢迎大家分享更好的方法。

扶酒劝斜阳的博客 4123

PTA -1008 数组元素循环右移问题

1008 数组元素循环右移问题 (20 分) 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A​0​​A​1​​⋯A​N−1​​)变换为(A​N−M​​⋯A​N−1​​A​0​​A​1​​⋯A​N−M−1​​)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数...

s4754776的博客 346
上一篇: 打印沙漏!
下一篇: 求组合数!
Sancean
博客等级 码龄6年 2472粉丝 149原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值