早教吧作业答案频道 -->其他-->
c++枚举BCDEFGH七个字母所有排列组合可能一共有7×6×5×4×3×2×1=5040种,求枚举出所有可能。
题目详情
c++枚举BCDEFGH七个字母所有排列组合可能
一共有7×6×5×4×3×2×1=5040种,求枚举出所有可能。
一共有7×6×5×4×3×2×1=5040种,求枚举出所有可能。
▼优质解答
答案和解析
#include
// 枚举的字母
const char Letter[] = "BCDEFGH";
// 枚举的字母个数
const int LetterNumber = 7;
// 记录哪些字母已经被选取
bool Visit[ LetterNumber ];
// 枚举选出第n个字母, str存放已经选出的字母构成的字符串
void enumLetter( int n, char str[ LetterNumber + 1 ] )
{
// 所有字母都选出则输出
if( n == LetterNumber )
{
puts( str );
return;
}
// 依次尝试选择还没有选择过的字母
for( int i = 0 ; i < LetterNumber ; ++i )
{
if( Visit[ i ] == false )
{
Visit[ i ] = true;
str[ n ] = Letter[ i ];
enumLetter( n + 1, str );
Visit[ i ] = false;
}
}
}
int main()
{
char str[ LetterNumber + 1 ];
str[ LetterNumber ] = 0;
enumLetter( 0, str );
return 0;
}
// 枚举的字母
const char Letter[] = "BCDEFGH";
// 枚举的字母个数
const int LetterNumber = 7;
// 记录哪些字母已经被选取
bool Visit[ LetterNumber ];
// 枚举选出第n个字母, str存放已经选出的字母构成的字符串
void enumLetter( int n, char str[ LetterNumber + 1 ] )
{
// 所有字母都选出则输出
if( n == LetterNumber )
{
puts( str );
return;
}
// 依次尝试选择还没有选择过的字母
for( int i = 0 ; i < LetterNumber ; ++i )
{
if( Visit[ i ] == false )
{
Visit[ i ] = true;
str[ n ] = Letter[ i ];
enumLetter( n + 1, str );
Visit[ i ] = false;
}
}
}
int main()
{
char str[ LetterNumber + 1 ];
str[ LetterNumber ] = 0;
enumLetter( 0, str );
return 0;
}
看了c++枚举BCDEFGH七个字...的网友还看了以下:
混合运算(能简便的一定要简便)(98%)4.58+3.38+(5.48+5.52)七.25×32× 2020-06-11 …
认识父亲1.父母对儿女们的感情是百分之百,而儿女对父母却总要打些折扣含义是什么2.为什么说世界上父 2020-06-11 …
英语翻译1.他多久去游一次泳?很少.2.露西每周去两次图书馆.3.她经常听音乐吗?不,她不经常.4 2020-06-22 …
①(d8+16-d4)×(-七4)②-七七+d×(-1)4-(-4)×5③da七+5-七a七-七a+ 2020-10-31 …
阅读短文阳光下的守望(16分)①我见过一个母亲,一个阳光下守望的母亲.母亲就站在七月炙热的阳光下翘首 2020-11-06 …
(地0七0•湘潭)地0七0年4月七4日青海玉树发生口7.七级地震.请你结合x图及所学生物学知识,解答 2020-11-12 …
一个字母和一个数字组成有意义的词语一个字母和一个数字组成或一个数字和一个字母组成例:3Q……than 2020-12-08 …
阳光下的守望①我见过一个母亲,一个阳光下守望的母亲.母亲就站在七月炙热的阳光下翘首望着百米外的考场, 2020-12-18 …
一些关于离散数学的问题.===DANCERS这个词求1A,N两字母相连的形式总数2RS只被一个字母分 2020-12-25 …
判断.(对的打“√”,错的打“×”)(1)七.45是由4个七.1和5个七.七1组成的.(2)整数都比 2020-12-27 …