排列2
#include <iostream> #include <algorithm> using namespace std; //int t[4]; int main() { // freopen("C://Users/destino74/Desktop/debug/test.txt","r",stdin); // freopen("C://Users/destino74/Desktop/debug/testout.txt","w",stdout); int a[5];bool f=0; while(cin>>a[0]>>a[1]>>a[2]>>a[3],a[0]||a[1]||a[2]||a[3]) { if(f) cout<<endl; f=1; sort(a,a+4); for(int i=1;i<4;i++) { if(a[0]==0) { a[0]=a[i]; a[i]=0; } } // if(a[0]==0){ return 0;} int j=1; do { cout<<a[0]<<a[1]<<a[2]<<a[3]; if(a[2]!=a[3]) cout<<" "<<a[0]<<a[1]<<a[3]<<a[2]; if(a[1]!=a[2]) { cout<<" "<<a[0]<<a[2]<<a[1]<<a[3]; if(a[1]!=a[3]) cout<<" "<<a[0]<<a[2]<<a[3]<<a[1]; } if(a[2]!=a[3]) { cout<<" "<<a[0]<<a[3]<<a[1]<<a[2]; if(a[2]!=a[1]) cout<<" "<<a[0]<<a[3]<<a[2]<<a[1]; } cout<<endl; for(;j<4;j++) if(a[j]>a[0]) { // swap(a[j],a[0]); a[4]=a[0]; a[0]=a[j]; a[j]=a[4]; break; } }while(j<4); } return 0; } /*void swap(int &a,int &b) { int temp=a; a=b; b=temp; } */