65,199
社区成员




#include <iostream>
using namespace std;
void invert(int a[],int k)
{
cout<<k<<endl;
int t;
if (k>1)
{
invert(a+1,k-2);
cout<<"a[0]"<<a[0]<<"a["<<k-1<<"]"<<a[k-1]<<endl;
t=*(a+1-1);
*(a+1-1)=*(a+k-1);
*(a+k-1)=t;
}
}
int main()
{
int b[10]={1,2,3,4,5,6,7,8,9,10};
int i;
invert(b,7);
for (i=0;i<10;i++)
{
cout<<b[i]<<" ";
}
return 0;
}
#include <iostream>
using namespace std;
int b[10]={1,2,3,4,5,6,7,8,9,10};
void invert(int a[],int k)
{
cout<<k<<endl;
int t;
if (k>1)
{
invert(a+1,k-2);//每一次递归,a都往后移动了1位
cout<<"a[0]"<<a[0]<<"a["<<k-1<<"]"<<a[k-1]<<endl;
cout<<"b[0]"<<b[0]<<"b["<<k-1<<"]"<<b[k-1]<<endl;
t=*(a+1-1);
*(a+1-1)=*(a+k-1);
*(a+k-1)=t;
}
}
int main()
{
int i;
invert(b,7);
for (i=0;i<10;i++)
{
cout<<b[i]<<" ";
}
return 0;
}