有n个整数,使前面各数顺序后移m个位置,最后m个数变成最前面m个数。写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数。

热心网友

void exchange(int *a, int n, int m){int i, j, k;for (i = 0; i = 0; j--)a[j+1] = a[j];a[0] = k;}}void main(){int n[10], i;printf("please enter 10 numbers: \n");for (i = 0; i < 10; i++) scanf("%d", &n[i]);exchange(n, 10, 3);for (i = 0; i < 10; i++) printf("%d ", n[i]);}

热心网友

int moveint(int *lpSrc,int n,int m){int *lptemp=calloc(n,sizeof(int));if(!lptemp){return 1;}memcpy(lptemp,lpSrc,sizeof(int)*n);memcpy(lpSrc,lptemp+n-m,sizeof(int)*m);memcpy(lpSrc+m,lptemp,sizeof(int)*(n-m));free(lptemp);}