本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题。是一个很实用的算法技巧。分享给大家供大家参考。具体实现方法如下:

例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。

C语言实现代码如下:

/*

* Copyright (c) 2011 alexingcool. All Rights Reserved.

*/

#include

#include

using namespace std;

char array[] = {'a', 'b', 'c'};

const int size = sizeof array / sizeof *array;

void Perm(char *array, int pos, int last)

{

if (pos == last) {

copy(array, array + size, ostream_iterator(cout, ""));

cout << endl;

}

else {

for(int i = pos; i <= last; i++) {

swap(array[i], array[pos]);

Perm(array, pos + 1, last);

swap(array[i], array[pos]);

}

}

}

void main()

{

Perm(array, 0, 2);

}

希望本文所述实例对大家C程序算法设计的学习有所帮助。

c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...相关推荐

  1. C语言编程>第十六周 ⑧ S是一个由数字和字母字符串组成的字符串,由变量len传入字符串长度。请补充fun函数,该函数的功能是把字符串s中的数字字符转换成数字并存放到整型数组a中

    例题:S是一个由数字和字母字符串组成的字符串,由变量len传入字符串长度.请补充fun函数,该函数的功能是把字符串s中的数字字符转换成数字并存放到整型数组a中,函数返回数组a的长度. 例如,s=&qu ...

  2. c语言的一段程序,C语言第一个程序(入门)

    1.文件类型(基本) c语言源文件  为.c 文件扩展名,例如 main.c    编译后将得到 a.out 文件   运行会得到 我们程序执行的结果 2.hello world (第一个程序) #i ...

  3. C语言 入门教程||C语言 指针||C语言 字符串

    C语言 指针 学习 C 语言的指针既简单又有趣.通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的.所以,想要成为一名优秀的 C 程序员,学习指针是很有必要 ...

  4. 有关输入一段话,输出字的个数

    输入一段文本,输出字的个数(汉字外的英文等其他字符不算) import java.util.Scanner;public class WordsSum {public static void main ...

  5. java中字符流和字节流的区别_java中字节流和字符流有哪些区别

    java中字节流和字符流的区别有:1.定义不同:2.结尾不同:3.处理方式不同:4.缓冲区不同:5.编码方式不同.字节流默认不使用缓冲区,而字符流使用缓冲区.字节流采用ASCII编码,字符流采用uni ...

  6. c语言怎么循环输入单个字符,c语言 帮我检查一下 输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束,...

    c语言 帮我检查一下 输入一段文字,每行用回车结束,文字输入完毕可以使用某个特殊字符作为结束,0 HIDE152019.04.28浏览4次分享举报 c语言输入一段文字,每行用回车结束,文字输入完毕可以 ...

  7. ACMNO.26 C语言-字符统计2 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。

    题目描述 编写一函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其它字符的个数, 在主函数中输入字符串以及输出上述结果. 只要结果,别输出什么提示信息. 输入 一行字符串 输出 统计数据, ...

  8. C语言九十三之输入一个字符x,找到输入的那句话(字符串)里面一样字母的位置。

    1.题目 输入一个字符x,找到输入的那句话里面一样字母的位置. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程序设计科目.帮助C语言学者打好程序基础.C语言基础,锻 ...

  9. C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果。

    /*C语言:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排序,输出排序后的结果.*/#include <stdio.h> #include <conio.h& ...

最新文章

  1. 深度学习入门课程推荐
  2. 基于pygame的射击小游戏制作(三)让外星人动起来
  3. php图片变成代码怎么解决,一段图片处理代码PHP代码转C#代码,该怎么解决
  4. spring----06 更多DI知识
  5. asp.net 下载文件
  6. pandas 学习(二)—— pandas 下的常用函数
  7. 全栈工程师已经过时?
  8. 2016年下半年勒索软件数量翻倍
  9. 英伟达数据中心业务营收不断创下新高,已连续9个财季保持增长
  10. 8)Thymeleaf 基本对象表达式
  11. LineBasedFrameDecoder 行解码器,回车换行符解决 TCP 粘包
  12. 软件工程参考文献精品文献汇总
  13. 各个领域中的经典论文,看看你都读过哪些 - 易智编译EaseEditing
  14. Debian Bullseye 更新源备份
  15. 为什么raw图是绿色的?
  16. echart柱状图堆叠总计显示
  17. 网页禁止访问html怎么办,手机网页被禁止访问了怎么办?
  18. 针对学校出现猪流感而做的一个简单的小软件(更新版)
  19. Python3下的NLTK及nltk_data安装问题(Ubuntu环境)
  20. 对CentOS服务器上正使用MRTG进行移机操作

热门文章

  1. mybatis实现一对多关系《DeptEmp》
  2. leetcode 423. Reconstruct Original Digits from English | 423. 从英文中重建数字(Java)
  3. 网络与IO知识扫盲(六):多路复用器
  4. 【Java入门】package包
  5. C语言 realloc函数 带着内存游走的函数
  6. URL URI傻傻分不清楚,dart告诉你该怎么用
  7. 产品经理必懂的技术那点事儿 pdf_培养一个合格的产品经理需要多少钱?
  8. flink从0到第一个应用成功运行遇到的所有问题和解决方法
  9. JUC锁-CyclicBarrier(七)
  10. 详解图示+例题演练——BF算法+KMP算法基本原理