整数数组有n个元素,将数组元素循环右移p位。假设元素原来为:1,2,3,4,5,6,p为3,则移动后的数组为:456123。
函数接口定义:
void move(int a[], int p);
裁判测试程序样例:
#include
#define N 10
void move(int a[], int p);
int main()
{
int i,a[N]={1,2,3,4,5,6,7,8,9,10},k;
scanf("%d",&k);
move(a,k);
for(i=0;i
printf("%d ",a[i]);
return 0;
}
/* 请在这里填写答案 */
```c++
void move(int a[],int p)
{
if(p >= 0 && p <= 10){
int i;
int b[10];
for(i = 0;i < 10;i++){
b[i] = a[i];
}
for(i = 0;i < p;i++){
a[i] = b[10 - p + i];
}
for(i = 0;i < 10-p;i++){
a[p + i] = b[i];
}
}
}
a.c: In function ‘main’:
a.c:10:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&k);
scanf改为scanf_s