有n个整数,将最后m个数前移,最终输出新的数组

本文介绍了一道编程题,要求在给定的整数数组中,将最后m个元素移到最前面,并输出调整后的数组。通过创建临时数组存储最后m个数,然后将剩余元素放入,实现数组顺序的改变。当m等于或大于数组长度时,题目给出了相应的处理方式。代码已给出,思路清晰。
摘要由CSDN通过智能技术生成

数组中移动多个数的位置,重新输出

(1)题目描述

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

(2)样例输入

10 20 30 40 50 60 70 80 90 100

(3)样例输出

注:假设将最后面的三个放在最前面

80 90 100 10 20 30 40 50 60 70

(4)解题思路

我们可以找一个空盒子,也就是一个空的数组,将后面的三个数先放在该数组中,然后再将前面七个也放进去,这时候这个新的数组就是我们要的那种顺序了,然后将这个数组依次放进原数组中,这时候将原数组再输出就行。
就是在考虑一个问题的时候,应该把好多方面都考虑进去,比如要移动的数字个数等于原数组中数的个数,那就相当于没有移动,就直接返回原来的数组就行,单数如果m大于了n那就相当于把m-n个数移动了,比如我想将12个数移动到最前面,但其实只有10个数,这时在移动的时候,先是依次将10个数从头到尾放到那个空盒子里,然后第11,12这两个是不存在的,就将最后面的两个数90,100再放进去了,最后呈现的结果就是 其实是全部都移动了,但是结果看起来只是移动了m-n个而已。

(5)代码

#include<stdio.h>

int* Move(int p[],int len,int m)
{
   
	if(m>len
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值