データの最後のセットは改行ではないの後に私の一日は本当に空白行の背後にあるその最後のグループを再生しないように参照する、野菜を栽培します!そして、0000は、データの最後のセットではありません!それは限り、あなたは通常、改行を作ることができるように、です!
改行位置を参照してください!
コードは以下の通りです
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[5],ok = 0;
while(1){
for (int i = 0; i < 4; i++) scanf("%d",&a[i]);
if(!a[0] && !a[1] && !a[2] && !a[3]) break;
if(!ok) ok = 1; else printf("\n");//最后一组数据不要换行指的是最后面没有空行
sort(a,a+4);
while(a[0] == 0) next_permutation(a,a+4);
int f = 0,k = a[0];
do{
if(k != a[0]){
f = 0; printf("\n");
}
if(!f) f = 1; else printf(" ");
printf("%d%d%d%d",a[0],a[1],a[2],a[3]);
k = a[0];
}while(next_permutation(a,a+4));
printf("\n");
}
return 0;
}