想用新建一个数组做中间变量,后按顺序输出数组,但运行结果不完全正确
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,p,i;
//p为移动数目,n为数列个数;
scanf("%d", &p);
scanf("%d", &n);
unsigned int a[n];
for(i = 0;i < n;i++)
{
scanf("%d", &a[i]);
}
int q = p%n;
unsigned int c[q];
for(i = 0;i < p;i++)
{
c[i] = a[i];
a[i] = a[p+i];
}
for(i = 0;i < n-q;i++)
{
printf("%d ",a[i]);
}
for(i = 0;i < q;i++)
{
printf("%d ",c[i]);
}
return 0;
}