标签:
1、有n个整数的数组,使其前面各数顺序向后移m个位置,最后m个数移到最前面
1 /*################################################################################################################## 2 # 3 # 有n个整数的数组,使其前面各数顺序向后移m个位置,最后m个数移到最前面 4 # 5 ###################################################################################################################*/ 6 7 #include "stdio.h" 8 #include "stdlib.h" 9 10 #define N 10 11 12 void move(int *a, int n, int m) 13 { 14 int *p,*q;//*p、*q指针变量 15 int temp;//零时变量 16 17 for(p=a+n-m; p<a+n; p++) 18 { 19 temp=*p; 20 21 for(q=p-1; q>=p+m-n; q--) 22 *(q+1)=*q; 23 24 *(q+1)=temp; 25 } 26 27 } 28 29 30 int main(void) 31 { 32 int a[N]; 33 int m,i; 34 35 printf("请输入%d个数:\n",N); 36 for(i=0; i<N; i++) 37 scanf("%d",&a[i]); 38 39 printf("请输入需要向右移动的位数:"); 40 scanf("%d",&m); 41 42 move(a, N, m); 43 44 printf("移动位置后数组元素的顺序:"); 45 for(i=0;i<N;i++) 46 printf("%5d",a[i]); 47 48 system("pause"); 49 50 return 0; 51 }
标签:
原文地址:http://www.cnblogs.com/STM32bo/p/4650585.html