求一段C语言代码:其功能是解决一个数学排列问题,
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/08/11 12:32:04
求一段C语言代码:其功能是解决一个数学排列问题,
求一段C语言代码:用C语言解决下面的这个排列问题,
有七个字母:A,B,C,D,E,F,G.输出满足以下四个条件的排列的个数!
1.A和B必须紧挨在一起;
2.C和F之间必须夹着任意两个字母;
3.G不能排在第一个或者最后一个位置上;
4.D一定要在F和A之间(F和A之间不一定只有D这么一个字母,可以有多个)
求一段C语言代码:用C语言解决下面的这个排列问题,
有七个字母:A,B,C,D,E,F,G.输出满足以下四个条件的排列的个数!
1.A和B必须紧挨在一起;
2.C和F之间必须夹着任意两个字母;
3.G不能排在第一个或者最后一个位置上;
4.D一定要在F和A之间(F和A之间不一定只有D这么一个字母,可以有多个)
![求一段C语言代码:其功能是解决一个数学排列问题,](/uploads/image/z/3161589-69-9.jpg?t=%E6%B1%82%E4%B8%80%E6%AE%B5C%E8%AF%AD%E8%A8%80%E4%BB%A3%E7%A0%81%EF%BC%9A%E5%85%B6%E5%8A%9F%E8%83%BD%E6%98%AF%E8%A7%A3%E5%86%B3%E4%B8%80%E4%B8%AA%E6%95%B0%E5%AD%A6%E6%8E%92%E5%88%97%E9%97%AE%E9%A2%98%2C)
代码:
//1.A和B必须紧挨在一起;
bool CheckAB(const char *pszData, int nDataLen)
{
for (int i = 0; i < nDataLen; i++)
{
if (pszData[i] == 'A')
{
if (i != 0)
{
if (pszData[i-1] == 'B')
{
return true;
}
}
if (i != nDataLen-1)
{
if (pszData[i+1] == 'B')
{
return true;
}
}
return false;
}
}
return false;}
//2.C和F之间必须夹着任意两个字母;
bool CheckCF(const char *pszData, int nDataLen)
{
for (int i = 0; i < nDataLen; i++)
{
if (pszData[i] == 'C')
{
if (i >= 3)
{
if (pszData[i-3] == 'F')
{
return true;
}
}
if (i = nDataLen)
{
// 检查符合要求并显示
if (Check(pszData, nDataLen))
{
DisplayA_G(pszData);
}
return;
}
for (int i = nDepth; i < nDataLen; i++)
{
swapData(pszData[nDepth], pszData[i]);
Sort1(pszData, nDataLen, nDepth+1);
swapData(pszData[nDepth], pszData[i]);
}
}
void SortA_G(void)
{
char szData[] = "ABCDEFG";
const int nDataLen = 7;
Sort1(szData, nDataLen);
}
int _tmain(int argc, _TCHAR* argv[])
{
SortA_G();
return 0;
}
输出结果:
0001 ABCDGFE
0002 ABCGDFE
0003 ABDCEGF
0004 ABDCGEF
0005 ABDFEGC
0006 ABDFGEC
0007 ABECDGF
0008 ABECGDF
0009 ABGCEDF
0010 ABGCDEF
0011 BACDGFE
0012 BACGDFE
0013 BADCEGF
0014 BADCGEF
0015 BADFEGC
0016 BADFGEC
0017 BAECDGF
0018 BAECGDF
0019 BAGCEDF
0020 BAGCDEF
0021 CEGFDBA
0022 CEGFDAB
0023 CGEFDAB
0024 CGEFDBA
0025 EBACDGF
0026 EBACGDF
0027 EABCDGF
0028 EABCGDF
0029 EFDGCBA
0030 EFDGCAB
0031 EFGDCBA
0032 EFGDCAB
0033 FDECGAB
0034 FDECGBA
0035 FDGCEAB
0036 FDGCEBA
0037 FDGCABE
0038 FDGCBAE
0039 FEDCGAB
0040 FEDCGBA
0041 FEGCDAB
0042 FEGCDBA
0043 FGDCEAB
0044 FGDCEBA
0045 FGDCABE
0046 FGDCBAE
0047 FGECDAB
0048 FGECDBA
请按任意键继续. . .
//1.A和B必须紧挨在一起;
bool CheckAB(const char *pszData, int nDataLen)
{
for (int i = 0; i < nDataLen; i++)
{
if (pszData[i] == 'A')
{
if (i != 0)
{
if (pszData[i-1] == 'B')
{
return true;
}
}
if (i != nDataLen-1)
{
if (pszData[i+1] == 'B')
{
return true;
}
}
return false;
}
}
return false;}
//2.C和F之间必须夹着任意两个字母;
bool CheckCF(const char *pszData, int nDataLen)
{
for (int i = 0; i < nDataLen; i++)
{
if (pszData[i] == 'C')
{
if (i >= 3)
{
if (pszData[i-3] == 'F')
{
return true;
}
}
if (i = nDataLen)
{
// 检查符合要求并显示
if (Check(pszData, nDataLen))
{
DisplayA_G(pszData);
}
return;
}
for (int i = nDepth; i < nDataLen; i++)
{
swapData(pszData[nDepth], pszData[i]);
Sort1(pszData, nDataLen, nDepth+1);
swapData(pszData[nDepth], pszData[i]);
}
}
void SortA_G(void)
{
char szData[] = "ABCDEFG";
const int nDataLen = 7;
Sort1(szData, nDataLen);
}
int _tmain(int argc, _TCHAR* argv[])
{
SortA_G();
return 0;
}
输出结果:
0001 ABCDGFE
0002 ABCGDFE
0003 ABDCEGF
0004 ABDCGEF
0005 ABDFEGC
0006 ABDFGEC
0007 ABECDGF
0008 ABECGDF
0009 ABGCEDF
0010 ABGCDEF
0011 BACDGFE
0012 BACGDFE
0013 BADCEGF
0014 BADCGEF
0015 BADFEGC
0016 BADFGEC
0017 BAECDGF
0018 BAECGDF
0019 BAGCEDF
0020 BAGCDEF
0021 CEGFDBA
0022 CEGFDAB
0023 CGEFDAB
0024 CGEFDBA
0025 EBACDGF
0026 EBACGDF
0027 EABCDGF
0028 EABCGDF
0029 EFDGCBA
0030 EFDGCAB
0031 EFGDCBA
0032 EFGDCAB
0033 FDECGAB
0034 FDECGBA
0035 FDGCEAB
0036 FDGCEBA
0037 FDGCABE
0038 FDGCBAE
0039 FEDCGAB
0040 FEDCGBA
0041 FEGCDAB
0042 FEGCDBA
0043 FGDCEAB
0044 FGDCEBA
0045 FGDCABE
0046 FGDCBAE
0047 FGECDAB
0048 FGECDBA
请按任意键继续. . .
求一段C语言代码:其功能是解决一个数学排列问题,
C语言数字全排列的问题(急!)求C代码和算法
C语言利用递归函数解决一个数学问题
C语言设计一个函数,其功能是求出a,b,c三个整数的最大值求高手解答
一个关于组合数的C语言问题(求代码).
求一个非全排列代码!(Matlab,C,...)
C语言解不等式的一个编程问题,只要代码
C语言循环的问题,求编程的代码
求C语言代码:分支限界法解背包问题
C语言一段语句解释C语言中一段代码:"#define f(x,y)(-1*(x)*(y)*(y))"疑问:是定义一个函数
C语言一段语句的释义C语言中一段代码:"#define f(x,y)(-1*(x)*(y)*(y))"疑问:是定义一个函
求大神注释下面的一段代码 以及说明其功能