-->
当前位置:首页 > 题库

主观题:循环左移

Luz5年前 (2021-06-19)题库775
### 任务描述:

本任务:编写程序,用指针实现以下功能, n 个整数存入一维数组中,将该数组循环左移 m 位。

如一个长度为 10 的数组中原来的元素顺序为0 1 2 3 4 5 6 7 8 9,

则循环左移 3 个位置后元素的顺序为 3 4 5 6 7 8 9 0 1 2。

### 相关知识

为了完成本关任务,有两种算法思想:一种是使用辅助数组实现数据移动;

另一种是不使用辅助数组,只需一个中间变量就可实现数据移动。

#### 使用辅助数组实现数据移动

创建一个同样大小辅助数组,存放临时数据,最后将数据存回原数组。

```
1.	#include 
2.	#define N 20
3.	int main()
4.	{
5.	    int a[N],b[N];
6.	    int i,n,m; 
7.	    int *p;
8.	    printf("输入整数个数:");
9.	    scanf("%d",&n);  
10.	    printf("输入%d个整数:\n",n);
11.	    for(i=0;i
答案: