现有四张卡片,用这四张卡片能排列出很多不同的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;
}