全排列2

0
10

注意:

1,回车和空格

2,是四位数,所以千位不能是0

接下来放代码

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
int arr[5];
cin >> arr[0] >> arr[1] >> arr[2] >> arr[3];
sort(arr,arr+4);
arr[4]=-1;
while(1){
do{
if(!arr[0])continue;//
if(arr[4]!=arr[0]&&arr[4]!=-1)cout << ‘\n’;
else if(arr[4]==arr[0])cout << ‘ ‘;
cout << arr[0] << arr[1] << arr[2] << arr[3];
arr[4]=arr[0];
}while(next_permutation(arr,arr+4));
cout << endl;
cin >> arr[0] >> arr[1] >> arr[2] >> arr[3];
sort(arr,arr+4);
arr[4]=-1;
if(arr[0]||arr[1]||arr[2]||arr[3])cout << endl;
else break;
}
return 0;
}

<

发布回复

请输入评论!
请输入你的名字