第一种:
include <bits/stdc++.h>
using namespace std;
int main(void)
{
int a1,a2,a3,a4,a5,a6,a7,a8; for(a1=1;a1<9;a1++) { for(a2=1;a2<9;a2++) { for(a3=1;a3<9;a3++) { for(a4=1;a4<9;a4++) { for(a5=1;a5<9;a5++) { for(a6=1;a6<9;a6++) { for(a7=1;a7<9;a7++) { for(a8=1;a8<9;a8++) { if((a1!=a2)&&(a1!=a3)&&(a1!=a4) &&(a1!=a5)&&(a1!=a6)&&(a1!=a7)&&(a1!=a8) &&(a2!=a3)&&(a2!=a4)&&(a2!=a5)&&(a2!=a6) &&(a2!=a7)&&(a2!=a8)&&(a3!=a4)&&(a3!=a5) &&(a3!=a6)&&(a3!=a7)&&(a3!=a8)&&(a4!=a5) &&(a4!=a6)&&(a4!=a7)&&(a4!=a8)&&(a5!=a6) &&(a5!=a7)&&(a5!=a8)&&(a6!=a7)&&(a6!=a8) &&(a7!=a8)) { cout<<a1<<a2<<a3<<a4<<a5<<a6<<a7<<a8<<endl; } } } } } } } } } return 0;
}
第二种:用到库函数next_permutation(arr,arr+arr.length);
include <bits/stdc++.h>
using namespace std;
int main(void)
{
int arr[8]={1,2,3,4,5,6,7,8}; do { for(int i=0;i<8;i++) { cout<<arr[i]<<""; if(i==7) { cout<<endl; } } }while(next_permutation(arr,arr+8)); return 0;
}