有n个整数,是前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
1.函数实现
#include <stdio.h>
void main(){
int a[9],b[9],i,j,n,m;
printf("please input m(后面移动个数):");
scanf("%d",&m);
printf("please input arrayA:");
for(i=0;i<9;i++) scanf("%d",&a[i]);
i=0;
for(j=0,i=sizeof(a)/4-m;j<m;j++,i++) b[j]=a[i];
for(i=0;i<sizeof(a)/4-m;i++,j++) b[j]=a[i];
for(i=0;i<9;i++) printf("%d ",b[i]);
2.指针实现
/*有n个整数,是前面各数顺序向后移m个位置,最后m个数变成最前面m个数。*/
#include <stdio.h>
void main(){
void sort(int c,int d,int x[]);
int i,j,n,m;
printf("please input n(个数):");
scanf("%d",&n);
printf("please input m(后面移动个数):");
scanf("%d",&m);
int a[n];
printf("please input arrayA:");
for(i=0;i<n;i++) scanf("%d",&a[i]);
sort(n,m,a);
}
void sort(int c,int d,int *x){
int b[c],i=0,j;
for(j=0,i=c-d;j<d;j++,i++) b[j]=x[i];
for(i=0;i<c-d;i++,j++) b[j]=x[i];
for(i=0;i<c;i++) printf("%d ",b[i]);
}