描述
有4个互不相同的数字,输出由其中三个不重复数字组成的排列。
输入
4个整数,已经从小到大排列。
输出
输出所有排列,输出格式见样例
样例输入
1 2 3 4
样例输出
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
1 2 4
1 4 2
2 1 4
2 4 1
4 1 2
4 2 1
1 3 4
1 4 3
3 1 4
3 4 1
4 1 3
4 3 1
2 3 4
2 4 3
3 2 4
3 4 2
4 2 3
4 3 2
#include <stdio.h>
int main()
{
int n[5],a,b,c,d;
scanf("%d %d %d %d",&n[0],&n[1],&n[2],&n[3]);//以第一轮为例,输入1 2 3 4
for(a=3;a>=0;a--){ //一开始先舍弃x[3],也就是a=3;
for(b=0;b<4;b++){
if(b!=a){ //确定b=0;
for(c=0;c<4;c++){
if(c!=a&&c!=b){ //确定c=1;
for(d=0;d<4;d++){
if(d!=a&&d!=b&&d!=c) //确定d=2;
printf("%d %d %d\n",n[b],n[c],n[d]);
} // 第一轮结果为 1 2 3
} // 与题目输出顺序一致
}
}
}
}
return 0;
} //要求与题目输出顺序一致