题目
1.实现三个函数
(1)打印数组
(2)数组值进行左移 通过由用户自定义左移几位
(3)数组右移
分析
(1)打印数组很简单,我们可以用for循环遍历数组,进行打印。
(1)左移,我们首先想一下左移一位该怎么办
如果定义了一个数组 元素顺序是1 2 3 4 5 6
那么左移一位之后将变成2 3 4 5 6 1 来 我们整理一下思路,这样想 我们可以把第一个值取出来存到一个变量里面 ,把后面的值依次往前提一位,最后再把第一个值赋值给最后一位。最后再加上循环,你要移几位就循环几次,
(3)右移和左移原理一样
设计
(1)给定一个数组,用sizeof计算数组长度,用for循环实现一个打印数组函数,在左移和右移后调用即可。
(2)定义三个变量,一个控制内层循环,一个控制外层循环,一个暂存临时变量。在定义一个变量,用来接收用户自定义的左移右移的数目。左移时,把第一个值取出来,接下来用for循环实现把剩下的元素都往左挪一位,也就是a[j]=a[j+1];等全部左移完毕,再把取出来的存在临时变量中得值放在最后一个元素的位置。外层循环控制移多少位。最后调用打印函数将数组打印出来。
代码实现
#include<stdbool.h>
#include<iostream>
using namespace std;//使用命令空间std
int arr[] = {
1, 2, 3, 4, 5, 6, 7, 8 };
int len = sizeof(arr) / sizeof(arr