每日练习------有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数 如图所示: 首先我们需要知道如何实现的算法: 1.我们将要把m单独拿出存储在一个数组中,才能使n-m的数字往后移 2.将n-m的数字从后往前依此移动 3.最后把m ... 阅读详情

题目: 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

解题关键:需要新建个数组使得原数组可以做到整体往后移动M位

思路:1.创建个有n个整数的数组

        2.输出n个数字,存储到数组中

        3.遍历原数组

        4.输出前面各数顺序向后移m个位置

        5.创建一个新数组长度为(n+m)

        6.把旧数组的值存储到新数组中

        7.整体数组往后移动m位

        8.m个数变成最前面的m个数

        9.遍历新数组

过程: 接下来我们根据我们的解题思路来一步步写代码

        1.创建个有n个整数的数组
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您需要输入多少个整数:");
        int n = sc.nextInt();
        int[] nums = new int[n];

        2.输出n个数字,存储到数组中
        System.out.println("请依次输入" + n + "个整数");
        for (int i = 0; i < nums.length; i++) {
            System.out.println("第" + (i + 1) + "个数字为:");
            int num = sc.nextInt();
            nums[i] = num;
        }

         3.遍历原数组
        System.out.print("原数组为:");
        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i] + " ");
        }

        System.out.println();// 换行

         4.输出前面各数顺序向后移m个位置
        System.out.print("输出前面的各数顺序向后移动的位置:");
        int m = sc.nextInt();

        5.创建一个新数组长度为(n+m)
        int[] newNums = new int[n + m];
        
        6.把旧数组的值存储到新数组中
        for (int i = 0; i < nums.length; i++) {
            newNums[i] = nums[i];
        }
        System.out.println();
        7.整体数组往后移动m位
        for (int i = newNums.length - 1; i-m >= 0 ; i--) {
            newNums[i] = newNums[i-m];
        }
        
        8.m个数变成最前面的m个数
        for (int i = 0; i < m; i++) {
            newNums[i] = newNums[newNums.length -(m-i)];
        }
        
        9.遍历新数组
        System.out.print("新数组为:");
        for (int i = 0; i < nums.length; i++) {
            nums[i] = newNums[i];
            System.out.print(nums[i] + " ");
        }

完整结果如下:

   为了方便大家使用,下面附上源码:

		// 1.创建个有n个整数的数组
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入您需要输入多少个整数:");
		int n = sc.nextInt();
		int[] nums = new int[n];

		// 2.输出n个数字,存储到数组中
		System.out.println("请依次输入" + n + "个整数");
		for (int i = 0; i < nums.length; i++) {
			System.out.println("第" + (i + 1) + "个数字为:");
			int num = sc.nextInt();
			nums[i] = num;
		}

		// 3.遍历原数组
		System.out.print("原数组为:");
		for (int i = 0; i < nums.length; i++) {
			System.out.print(nums[i] + " ");
		}

		System.out.println();// 换行

		// 4.输出前面各数顺序向后移m个位置
		System.out.print("输出前面的各数顺序向后移动的位置:");
		int m = sc.nextInt();

		// 5.创建一个新数组长度为(n+m)
		int[] newNums = new int[n + m];
		
		//6.把旧数组的值存储到新数组中
		for (int i = 0; i < nums.length; i++) {
			newNums[i] = nums[i];
		}
		System.out.println();
		//7.整体数组往后移动m位
		for (int i = newNums.length - 1; i-m >= 0 ; i--) {
			newNums[i] = newNums[i-m];
		}
		
		//8.m个数变成最前面的m个数
		for (int i = 0; i < m; i++) {
			newNums[i] = newNums[newNums.length -(m-i)];
		}
		
		//9.遍历新数组
		System.out.print("新数组为:");
		for (int i = 0; i < nums.length; i++) {
			nums[i] = newNums[i];
			System.out.print(nums[i] + " ");
		}

明日练习:定义一个N*N二维数组,从键盘上输入值,找出每行中最大值组成一个一维数组并输出;

大家可以自己写写,明天中午12点我准时发出我的写法哦,明天12点不见不散

 一生朋友一生情,一生有你才会赢;千山万水总是情,点个关注行不行!

5.21 C语言练习(自定义函数之数字后移:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。) 题目要求: 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。 写一函数:实现以上功能,在主函数中输入n个数。 阅读详情

相关推荐

有n个整数,使前面各数向后移m个位置,最后m个数变成最前面m个数

有n个整数,使前面各数向后移m个位置,最后m个数变成最前面m个数。写一函数实现以上功能,在主函数中输入n个整数,并输出调整后的n个数(要求使用指针)。 #include //#include using namespace std; int n,m; int array[1000]; void input() { cout cin>>n; cout c

yanglize的博客 2670

有n个整数,使其前面各数顺序后移m个位置, 最后m个数变成最前面的m个数(相当于循环队列)

有n个整数,使其前面各数顺序后移m个位置, 最后m个数变成最前面的m个数(相当于循环队列)

qq_48017759的博客 3677

Problem D: 指针:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数

Problem D: 指针:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数 Description 调用自定义后移函数move(int *a, int n, int m)来进行循环移位,对n(n<20)个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数,如下: n=10, m=3时:输入:1 2 3 4 5 6 7 8 9 10,输出:8 9 10 1...

david2000999的博客 1457

C语言经典100例(68)有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

【代码】C语言经典100例(68)有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

jlfcc的博客 1440

Unreal5(虚幻五) 实现UI与C++代码逻辑的交互 保姆级教程

本人有Unity基础,刚学UE几天,把这一套处理流程记录一下备用。

qq_42915442的博客 9815

python 编程 安卓脚本_详解基于Android的Appium+Python自动化脚本编写

1.AppiumAppium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序。通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码。下面开始Appium的配置。appPackage和APPActivity的获取任意下载一个app解压...

weixin_39523625的博客 2928

【C语言】有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

两种方法解决此题

小人物,大梦想! 4938

开源滑翔伞升降速度表:基于STM32与传感器融合的DIY飞行仪表

传感器融合是现代嵌入式系统与物联网设备中的核心技术,它通过整合多个传感器的数据,利用滤波与估计算法,获得比单一传感器更精确、更可靠的环境感知能力。其技术价值在于提升系统的鲁棒性、精度和上下文理解能力,广泛应用于无人机导航、可穿戴设备、工业监测及智能驾驶等领域。本文聚焦于一个具体的工程实践案例——开源多功能滑翔伞升降速度表(Open-Vario),该项目巧妙地运用了**卡尔曼滤波器**进行气压与GNSS数据的融合,以精确计算升降率,并基于**FreeRTOS**实时操作系统构建了一个稳定、可扩展的嵌入式平台,

weixin_33657398的博客 176

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

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见图8.43。 写一函数实现以上功能,在主函数中输人n个整数和输出调整后的n个数。 解题思路: 找出倒数第m个数据,从这里开始保存倒数第m位置的数据,因为倒数第m位置的数据要放到数组最前方,将m之前的数据向后偏移一位,然后将数组第一个位置的数据替换为保存的m位的数据,逐个往后递增即可。 答案: #include <stdio.h> void move(int *arry, int n, int m) { int end_i

月已满西楼的博客 2521

从Microchip SDK到STM32实战:手把手教你移植LAN9252 EtherCAT从站驱动(含EEPROM配置避坑)

本文详细介绍了如何将Microchip SDK中的LAN9252 EtherCAT从站驱动移植到STM32F407平台,包括FSMC接口配置、中断处理适配和EEPROM配置等关键步骤。通过实战指南和避坑技巧,帮助开发者快速实现高性能EtherCAT从站设备的开发,适用于工业自动化领域。

weixin_29197835的博客 446

STM32最小系统硬件组成详解

STM32最小系统硬件组成详解 0组成: 电源 复位 时钟 调试接口 启动 1、电源 : 一般3.3V LDO供电 加多个0.01uf去耦电容 2、复位:有三种复位方式:上电复位、手动复位、程序自动复位 通常低电平复位:(51单片机高电平复位,电容电阻位置调换) 上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计...

alala120的博客 12万+

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。

C程序设计(第五版)谭浩强著,第八章第四题。 #include<stdio.h> int main() { int i,n,m, a[10000], * p = a; void swap(int a[], int n,int m); printf("请输入n的值: "); scanf_s("%d", &n); printf("请输入n个整数: "); for (i = 0; i < n; i++) scanf_s("%d",p++);//输入 printf("

m0_64132509的博客 1万+

最强AI插件Augment,适配idea、vscode,对标cursor!

Augment是一款新兴的AI辅助编码工具,能够无缝集成到IDEA和VS Code等主流IDE中,直接对标专业AI编码工具Cursor。其核心优势包括多IDE适配、无缝集成、代码理解与生成以及对话式编程体验。Augment通过插件形式保留原IDE功能和快捷键习惯,降低学习成本,同时提供深度理解项目上下文和生成高质量代码的能力。此外,Augment还具备审查变更、检查点、代理与代理自动等核心功能,支持从简单配置更改到复杂功能实现的各种开发任务。Augment代表了AI辅助编程工具的新方向,通过增强开发者熟悉的

todoitbo的博客 1万+

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m 个数

c语言 数组 时间复杂度,空间复杂度

IT_涛涛 1万+

构建高效的LLM应用测试框架

《构建高效的LLM应用测试框架》 关键词:LLM,测试框架,应用测试,效率优化,测试原理 摘要:本文将深入探讨构建高效LLM应用测试框架的必要性、方法与步骤,旨在为开发者提供一套系统化、可操作的测试解决方案,从而提升LLM

AI天才研究院 1047

Sigrity Power DC Single-BoardPackage IR Drop Analysis模式进行单板压降仿真分析操作指导

如果需要单独对某个via设置参数,右侧选择Setup by padstack,下方下拉选择某个via,单独设置参数即可。举例:板厚1.6mm,内层1OZ(1.2mil,即0.03mm),铜皮宽度1mm,20度温升,允许通流I为2.5A。目的是模拟实际情况,via的孔壁电镀1mil,中间是空心的,让via不完全被填充金属成为实心via。Upper/lower Tolerance:上下公差,设置为5%,也就是压降允许的范围。电流密度计算公式:J=I/A(J为电流密度,I为电流,A为横截面积)

weixin_54787054的博客 697

指针:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数

Description 调用自定义后移函数move(int *a, int n, int m)来进行循环移位,对n(n&lt;20)个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数,如下: n=10, m=3时:输入:1 2 3 4 5 6 7 8 9 10,输出:8 9 10 1 2 3 4 5 6 7 Input 输入多组测试数据,每组先输入n(n &lt; 20)和m(m ...

z2431435的博客 4万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

//有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 #include<stdio.h> int main(){ int a[10],i,j,m; int b[10]; //换顺序后数组为b printf("请输入十个数\n"); for(int i=0;i<10;i++){ scanf("%d",&a[i]); //输入a数组 } printf("请输入要移动的m位\n"); //输入移动m位 scan

qq_48204413的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

(C语言)(用指针的方式处理)有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前面m个数

(用指针的方式处理)有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前面m个数

爱上小公举 4623

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C语言--指针--【程序40】 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

初级版本–开辟一个新数组(有点耗费内存了) //【程序40】 //题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 #include<stdio.h> int main() { int n,m,i,j,a[20],b[20]; //初级版本 --开辟一个新数组 scanf("%d %d",&n,&m); for(i=0;i<n...

Rudy的博客 1万+

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数

解题思路: (1)在函数中,新建一个数组,把原数组中的后m个数字先复制到这个新建的数组中 (2)原数组中的元素向后移动m个位置 (3)把新建数组中存贮的m个元素,复制到原数组中 注意点: “移动过程中数组的下标的计算要准确” 源程序代码: #include<stdio.h> int* Move(int p[],int len,int m) { if(m>len) m=m-le...

restarted_的博客 1万+

有n个整数,使其前面各数顺序向后移n-m个位置,最后m个数变成最前面的m个数...

题目:有n个整数,使其前面各数顺序向后移n-m个位置,最后m个数变成最前面的m个数 public class 第三十六题数组向后移m个位置 { public static void main(String[] args) { int[] a = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }; ...

weixin_30808575的博客 2942

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。写一函数实现以上功能。

假如有10个数,使前面各数顺序向后移动3个位置,最后3个数变成最前面3个数(n=10,m=3) 例如输入:0 1 2 3 4 5 6 7 8 9 那么输出是输出:7 8 9 0 1 2 3 4 5 6 代码如下: #include<stdio.h> #include<stdlib.h> #pragma warning(disable:4996) int main(){ void move(int *p,int n, int m); int n; int array[100]; i

qczfbb的博客 6198

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。(指针)

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 12 月 04 日 * 版 本 号:v1.0 * * 输入描述: * 问题描述:有n个整数,使前面各数顺

得之坦然,失之淡然 3万+

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 **输入格式要求:"%d" 提示信息:"the total numbers is:" "back m:" **输出格式要求:"%d," "%d" 程序运行示例1如下: the total numbers is:5 back m:2 1 2 3 4 5 4,5,1,2,3 程序运行示例2如下: the total numb...

weixin_44765158的博客 6354
上一篇: Java学习Day021(类和对象)
下一篇: Java学习Day022(方法)
北柠陌语
博客等级 码龄5年 386粉丝 73原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值