void invert(int a[] int k)
{
int t;
if(_1__)
{
invert(____2____)
t=a[0];
a[0]=a[k-1];
a[k-1]=t;}
}递归函数inver(int a[],int k)将指定数组中的前k个元素逆置
完成程序

解决方案 »

  1.   

    #include<stdio.h>void invert(int a[],int k)
    {
    int t=0;
    if(k>2)
    {
    invert(a+1,k-2);
    }
    t=a[0];
    a[0]=a[k-1];
    a[k-1]=t;
    }void main()
    {
    int a[10]={1,2,3,4,5,6,7,8,9,10};
    int k=10;
    invert(a,k);
    for(int i=0;i<10;i++)
    {
    printf("%d \t",a[i]);
    }
    }输出:10 9 8 7 6 5 4 3 2 1 
      

  2.   

    #include<stdio.h>
    void invert(int a[],int k)
    {
    if(k==1)printf("%d",a[0]);
    else 
    {
    printf("%-3d ",a[k-1]);
    invert(a,k-1);
    }
    }
    void main() 

    int a[10]={1,2,3,4,5,6,7,8,9,10};
    invert(a,10);