//已知数组内容如下 s[] = {1,2,3,4,5,6,7,8,9},输入一个常数 m(1<=m<=9),使得该数组内容顺序后移n个位置。如n = 3时,
//数组后移3个位置后的内容为{7,8,9,1,2,3,4,5,6}
#include <stdio.h>
int main()
{
int a[] = {1,2,3,4,5,6,7,8,9};
int b[9] = {0};
int *p = a;
int *q = b;
int i,m,n;
printf("请输入要移动的位数:\n");
scanf("%d",&m);
n = m;
for(i = 0; i < m; i++)
{
*q++ = *( p + 9 - n);
n--;
}
for (i = 0;i < 9 - m;i++)
*q++ = *p++;
printf("移动后数组为:\n");
for(i = 0; i < 9;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
}
//数组后移3个位置后的内容为{7,8,9,1,2,3,4,5,6}
#include <stdio.h>
int main()
{
int a[] = {1,2,3,4,5,6,7,8,9};
int b[9] = {0};
int *p = a;
int *q = b;
int i,m,n;
printf("请输入要移动的位数:\n");
scanf("%d",&m);
n = m;
for(i = 0; i < m; i++)
{
*q++ = *( p + 9 - n);
n--;
}
for (i = 0;i < 9 - m;i++)
*q++ = *p++;
printf("移动后数组为:\n");
for(i = 0; i < 9;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
}