原题链接:C语言考试练习题_排列
解题思路:
按要求输出,不解释(算了,还是解释一下吧,见注意事项)
注意事项:
题里竟然没写输出顺序是唯一的(见样例输出),简直有毒,也是醉了。
参考代码:
#include<stdio.h>
int main() {
int i, j, k, t, a[4];
for (i = 0; i < 4; i++) {
scanf("%d", &a[i]);
}
for (t = 3; t >= 0; t--)
for (i = 0; i < 4; i++)
if (t != i)
for (j = 0; j < 4; j++)
if (t != j && i != j)
for (k = 0; k < 4; k++)
if (t != k && i != k && j != k)
printf("%d %d %d\n", a[i], a[j], a[k]);
return 0;
}0.0分
10 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
简单暴力,#滑稽# #include <stdio.h> void f(int x,int y,int z) { printf("%d %d %d\n",x,y,z); printf("%d %d %d\n",x,z,y); printf("%d %d %d\n",y,x,z); printf("%d %d %d\n",y,z,x); printf("%d %d %d\n",z,x,y); printf("%d %d %d\n",z,y,x); } int main() { int a,b,c,d; while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF) { for(int i=4;i>=1;i--) { switch(i){ case 1: f(b,c,d); break; case 2: f(a,c,d); break; case 3: f(a,b,d); break; case 4: f(a,b,c); break; } } } return 0; }