c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...
本文實(shí)例講述了C語言實(shí)現(xiàn)輸入一個(gè)字符串后打印出該字符串中字符的所有排列的方法,屬于數(shù)學(xué)里的排列問題。是一個(gè)很實(shí)用的算法技巧。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
例如輸入字符串a(chǎn)bc,則輸出由字符a、b、c所能排列出來的所有字符串a(chǎn)bc、acb、bac、bca、cab和cba。
C語言實(shí)現(xiàn)代碼如下:
/*
* 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);
}
希望本文所述實(shí)例對(duì)大家C程序算法設(shè)計(jì)的學(xué)習(xí)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 音频文件播放文件管理,lin
- 下一篇: c语言考试题及答案 大一,大一C语言期末