将数组元素从指定索引后移一个位置

 1 /*
 2     *******************************************************************************
 3     时间  :2014年9月20日 21:55:25
 4     程序名:MoveArr.c
 5     By    :xxNote
 6     作用  :把一个整数数组从指定的索引k开始向后移动1个单位,最后一个元素扔掉,索引为k的元素改成m
 7     *******************************************************************************
 8 */
 9 #include <stdio.h>
10 #define N 10
11 
12 int iArr[N] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
13 void Move(int *iArr, int k, int m);//向后移动一个位置
14 void Show(void);//显示数组
15 int main(void)
16 {
17     printf("移动前数组是:\n");
18     Show();
19     Move(iArr, 5, -1);
20     printf("移动后数组是:\n");
21     Show();
22 
23     return 0;
24 }
25 
26 void Move(int *iArr, int k, int m)
27 {
28     int Current, tmp, i;
29 
30     tmp = iArr[k];
31     for (i=k; i<N-1; i++)
32     {
33         Current        = tmp;
34         tmp            = iArr[i+1];
35         iArr[i+1]      = Current;
36     }
37     iArr[k] = m;
38 
39     return;
40 }
41 
42 void Show(void)
43 {
44     int i;
45 
46     for (i=0; i<N; i++)
47     {
48         printf("%3d", iArr[i]);
49     }
50     printf("\n");
51     return;
52 }

 运行效果:

posted @ 2014-09-20 22:01  xxNote  阅读(1286)  评论(0编辑  收藏  举报