跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

C语言实现输入一个字符串后打印出该字符串中字符的所有排列

本文实例讲述了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语言获取用户输入字符串是scanf和gets的区别详解在C语言中输入中文字符串讲解C语言使用scanf连续输入字符串出现的问题C语言删除输入字符串中的空格示例代码C语言输入一个字符串的方法有哪些

相关文章