//一元二次方程求解
// int a,b,c,d;
// float x1,x2;
// printf("请输入一元二次方程ax^2+bx+c=0中的a,b,c三个数的值:");
// scanf("%d %d %d",&a,&b,&c);
// if(a==0)
// {
// printf("a=0,式子不是一元二次方程!\n");
// return -1;
// }else{
// d=b*b-4*a*c;
// if(d<0)
// {
// printf("此方程式无解!\n");
// return -1;
// }else{
// x1=(-b+sqrt(d))/(2*a);
// x2=(-b-sqrt(d))/(2*a);
// }
// }
// printf("方程的俩个解为%3.2f,%3.2f",x1,x2);
//递归调用调换数组元素
// int a[100]={0};
// int n=0;
// int i;
// printf("please enter the size of array:");
// scanf("%d",&n);
// printf("please enter the numbers of array:");
// for(i=0;i<n;++i)
// {
// scanf("%d",&a[i]);
// }
// printf("please enter the size of moving:");
// scanf("%d",&i);
moveArray(a, n,i);
// moveFun(a, n, i);
// for(i=0;i<n;++i)
// {
// printf("%d ",a[i]);
// }
void moveArray(int a[],int n,int i)//普通方法
{
int b[100];
int j=0;
int k=i;
for(j=0;j<i;++j)
{
b[j]=a[j];
}
for(j=0;k<n;++k,++j)
{
a[j]=a[k];
}
for(k=0;k<i;++k,++j)
{
a[j]=b[k];
}
}
void moveFun(int array[],int n,int m)//递归调用
{
int *p;
int array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
{
*p=*(p-1);
}
*array=array_end;
m--;
if(m>0){
moveFun(array, n, m);
}
}