現有四張卡片,用這四張卡片能排列出很多不同的4位數,要求按從小到大的順序輸出這些4位數。
每組輸出數據間空一行,最後一組數據後面沒有空行。
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int a[4];
int main()
{
// freopen("a.txt","r",stdin);
int k=0;
while(cin>>a[0]>>a[1]>>a[2]>>a[3])
{
if(!(a[0]||a[1]||a[2]||a[3]))
break;
if(k)
cout<<'\n';
k++;
sort(a,a+4);
int n=0,tmp;
do{
if(n){
if(a[0]==tmp)
cout<<' ';
else
cout<<'\n';
}
if(a[0]){
n++;
for(int i=0;i<4;i++)
cout<<a[i];
}
tmp=a[0];
}while(next_permutation(a,a+4));
cout<<'\n';
}
return 0;
}