原题链接:排列
不用排序,直接打印。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
for (int count = 0; count < n; count++) {
int[]num=new int[4];
for (int i = 0; i < num.length; i++) {
num[i]=sc.nextInt();
}
for (int a = 0; a<num.length; a++) {
for (int b = 0; b< num.length; b++) {if(a==b) continue;
for (int c = 0; c < num.length; c++) {if(a==c||b==c) continue;
for (int d = 0; d < num.length; d++) { if(a==d||b==d||c==d) continue;
if(b>c&&c>d)System.out.print(num[a]*1000+num[b]*100+num[c]*10+num[d]+"\n");//换行
else System.out.print(num[a]*1000+num[b]*100+num[c]*10+num[d]+" ");
}
}
}
}
if(count!=n-1) System.out.println();//除了最后一组 别的都输出空行
}
}
}0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复