代码:
//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
请按任意键继续. . .
解析看不懂?求助智能家教解答查看解答