C语言实验——排列

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

有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>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <limits.h>
#include <algorithm> using namespace std;
int a[4]; void Print_permutation(int n, int *a, int *c, int cur )
{
int i, j;
if(cur==n)
{
for(i=0; i<n; i++)
{
if(i==0)
printf("%d", a[i] );
else
printf(" %d", a[i]);
}
printf("\n");
}
else
{
for(i=0; i<3; i++)
{
int ok=1;
for(j=0; j<cur; j++)
{
if(a[j]==c[i] ) ok=0;
}
if(ok)
{
a[cur]=c[i];
Print_permutation(n, a, c, cur+1 );
}
}
}
} int main()
{
int i, j; for(i=0; i<4; i++)
scanf("%d", &a[i] ); int b[3];
int c[3];
b[0]=a[0]; b[1]=a[1]; b[2]=a[2]; //1 2 3
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c, 0); b[0]=a[0]; b[1]=a[1]; b[2]=a[3]; //1 2 4
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c, 0); b[0]=a[0]; b[1]=a[2]; b[2]=a[3]; //1 3 4
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c, 0); b[0]=a[1]; b[1]=a[2]; b[2]=a[3]; //2 3 4
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c,0); return 0;
}
 

sdut oj 1163 C语言实验——排列 (当初不会递归生成排列,这个题目现在才补上 刘汝佳给出了写法 *【模板】 当然有生成全排列的函数存在 )的更多相关文章

  1. 刘汝佳黑书 pku等oj题目

    原文地址:刘汝佳黑书 pku等oj题目[转]作者:小博博Mr 一.动态规划参考资料:刘汝佳<算法艺术与信息学竞赛><算法导论> 推荐题目:http://acm.pku.edu. ...

  2. 《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 -<1>

    此书我购于去年的十一月份,也是经前人推荐购买的一本比较有用的书籍,在寒假自学此书,其简洁清晰高效的示例代码令我印象深刻,于是我打算把这本书的前四章后面的注解与习题(未给出标准解答)认真的去思索和研究, ...

  3. SDUT 1177 C语言实验——时间间隔

    C语言实验——时间间隔 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 从键 ...

  4. 【南阳OJ分类之语言入门】80题题目+AC代码汇总

    小技巧:本文之前由csdn自动生成了一个目录,不必下拉一个一个去找,可通过目录标题直接定位. 本文转载自本人的csdn博客,复制过来的,排版就不弄了,欢迎转载. 声明: 题目部分皆为南阳OJ题目. 代 ...

  5. 2006: C语言实验——拍皮球

    2006: C语言实验——拍皮球 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 231  Solved: 162[Submit][Status][Web ...

  6. ytu 2002:C语言实验——单词统计(水题)

    C语言实验——单词统计 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 61  Solved: 34[Submit][Status][Web Board] ...

  7. ytu 1998:C语言实验——删除指定字符(水题)

    C语言实验——删除指定字符 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 327  Solved: 211[Submit][Status][Web Boa ...

  8. ytu 1985:C语言实验——保留字母(水题)

    C语言实验——保留字母 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 136  Solved: 59[Submit][Status][Web Board] ...

  9. ytu 2029: C语言实验——温度转换(水题)

    2029: C语言实验——温度转换 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 12  Solved: 10[Submit][Status][Web B ...

随机推荐

  1. 2017-10-29-afternoon-清北模拟赛

    T1 洗澡 贪心:将未匹配的右括号花费1变为左括号,最有多余的左括号有一半变成右括号 #include <cstring> #include <cstdio> ); int n ...

  2. JAVA中获取不重复的随机数

    我们知道 Random random = new  Random() 中可能会获取到重复的随机数 那么假设要获取1到33之间的六个不重复随机数应该怎么做呢? 首先定义一个数字数组存储1到33 int[ ...

  3. Ext 上传文件

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title> ...

  4. C 标准库 - <stddef.h>

    C 标准库 - <stddef.h> 简介 stddef .h 头文件定义了各种变量类型和宏.这些定义中的大部分也出现在其它头文件中. 库变量 下面是头文件 stddef.h 中定义的变量 ...

  5. PHP网站http替换https

      PHP网站http替换https

  6. webpack 项目实战

    步骤一: npm init 步骤二: npm install -D clean-webpack-plugin css-loader extract-text-webpack-plugin html-w ...

  7. Spring.net1.3.1+Nhibernate3.0+Mysql/Access/SqlServer/Oracel/SQlite

    详情请看我的博文:http://www.ruisoftcn.com/blog/article.asp?id=999

  8. Android SQLite性能分析

    作为Android预置的数据库模块,对SQLite的深入理解是很有必要的,能够从中找到一些优化的方向. 这里对SQLite的性能和内存进行了一些測试分析.对照了不同操作的运行性能和内存占用的情况,粗略 ...

  9. Android 中View仅仅能接收到ACTION_DOWN无法接收ACTION_MOVE和ACTION_UP解决的方法

    昨天晚上调试了一晚上,在LinearLayout上接收屏幕动作,可是出现了问题, 以下的代码是本人调的代码 </pre><pre name="code" clas ...

  10. 深入Garbage First垃圾收集器(二)背景

    G1 GC是目前Java HotSpot虚拟机最新的垃圾收集器. 它是一种压缩型收集器,其基本原则是首先收集尽可能多的垃圾,因此被命名为"Garbage First" GC. G1 ...