/*------完整代码@映雪-------*/#includeusing namespace std;#define change(x,y); \ a[x]=a[x]+a[y];\ a[y]=a[x]-a[y];\ a[x]=a[x]-a[y];void f(int a[],int l,int r){ if(l+1==r) { change(l,r); return; } else if(l==r) return; else { f(a,l+1,r-1); change(l,r); }}int main(){ int a[]={ 1,2,3,4,5,9,50,23}; f(a,0,sizeof(a)/sizeof(int)-1); for(int i=0;i