OJ问题:请编写函数fun,函数的功能是 :移动一维数组中的内容;若数组中有10个整数,要求把下标从0到p(含p,p小于10)的数组元素平移到数组的最后。
如:数组中原始内容为:1、2、3、4、5、6、7、8、9、10;p=3。
移动后数组中为5、6、7、8、9、10、1、2、3、4.
代码:
#include <string.h>
#include<stdlib.h>
void fun(int a[10],int p)
{
int temp;
for(int i=0;i<=p;i++)
{
temp=a[0];
for(int j=0;j<9;j++)
{
a[j]=a[j+1];
}
a[9]=temp;
}
}
int main() {
int a[10]={1,2,3,4,5,6,7,8,9,10};
int i;
printf("初始数组:\n");
for(i=0;i<10;i++){
printf("%d ",a[i]);
}
int p;
printf("\n请输入p的值:");
scanf("%d",&p);
fun(a,p);
printf("结果数组:\n");
for(i=0;i<10;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}