int move(int *p, int n, int m);
int main() {
int m, n, i, *p;
scanf("%d", &n);
if((p = (int *)calloc(n, sizeof(int))) == NULL)
exit(1);
for(i=0; i<n; i++)
scanf("%d", p + i);
scanf("%d", &m);
if(1 == move(p, n, m)) {
for(i=0; i<n; i++)
printf("%d ", *(p + i));
printf("\n");
} else {
printf("參數有誤!\n");
}
return 0;
}
int move(int *p, int n, int m) {
int i, j, *t;
j = 0;
if(n < m)
return 0;
if(n == m)
return 1;
if((t = (int *)calloc(m, sizeof(int))) == NULL)
exit(0);
for(i=n-m; i<n; i++){
t[j++] = *(p + i);
}
for(i=n-m-1; i>=0; i--)
*(p + i + m) = *(p + i);
for(i=m-1; i>=0; i--)
*(p + i) = t[i];
return 1;
}
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。