AC代码:
#include <stdio.h> int main() { int i,n,l,r,m,num[101],*p=num; scanf("%d %d %d %d",&n,&l,&r,&m); for (i=1;i<=n;i++) //编号从1开始 scanf("%d",p+i); p=num; for (i=1;i<l-m;i++) printf("%d ",*(p+i));//输出没换位子的前l-m个元素 p=num; for (i=l;i<=r;i++) printf("%d ",*(p+i));//紧接着输出编号l到r的元素 p=num; for (i=l-m;i<l;i++) printf("%d ",*(p+i));//然后输出被往后移的编号l-m到l的元素 p=num; for (i=r+1;i<=n;i++){ printf("%d ",*(p+i));//最后输出没换位子的编号r+1到n的元素 } return 0; }//记得每次循环前都要重置指针