有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数.
谢了.
下面是个递归写法,这样可以不借助数组,当然效率有影响!
你也可以用数组,把移出去的m个先放别的数组里,最后操作
[CODE]
#include "stdio.h"
void Move_array(int *array,int n,int m)
{
int i,data;
if(m==0)
return;
data=array[n-1];
for(i=n-2;i>=0;i--)
array[i+1]=array[i]; /*应该算指针*/
array[0]=data;
Move_array(array,n,m-1);
}
int main()
{
int array[10]={1,2,3,4,5,6,7,8,9,10},i;
Move_array(array,10,5); /*一个例子*/
for(i=0;i<10;i++)
printf("%d \n",array[i]);
return 0;
}
[/CODE]