数字移位 指针 求助
/*4.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数,如图。写一函数实现以上功能,在主函数中输入n个整数,并输出调整后的n个数。
【要求】利用指针实现循环后移 */
#include<stdio.h>
int n,m;
void f(int*a,int*b)
{
int i;
printf("请输入n个数字\n");
for(i=0;i<n;i++,a++)
scanf("%d",a);
for(i=n-1;i>=0;i--)
*(a+m+i)=*(a+i);
for(i=0;i<m;i++,a++)
*a=*(a+n);
for(i=0;i<n;i++,a++)
printf("%d ",*a);
}
int main()
{
int a[100],b[100];
printf("请输入数字的个数n,和向后移的位数m\n");
scanf("%d%d",&n,&m);
f(a,b);
return 0;
}