MyException - 我的异常网
当前位置:我的异常网» C# » 200,该如何解决

200,该如何解决

www.MyException.Cn  网友分享于:2013-12-30  浏览:2次
200
table1
A,B,C,D,E,F,G,H,I,J,K
请问:怎么样查询A—K中的3个字母(字母的顺序是固定的)把所的组合列出来
比如:A,B,C
            A,C,D
            A,C,F
            E,F,K
但是顺序不能变如C,D,A  
                                C,B,A
希望知道这么做的告诉下。



------解决方案--------------------
循环或递归
第一个是 A, B,C
最后一个是I,J,K
类似于10进制,每个组合都是上一个组合最后一个字母换成下一个字母,每到K则进位。但进位后不能像10进制那样复位到0,而是复位到上位的下一个字母。
ABC
……
ABK
ACD
……
ACK
……
AJK
BCD
……
IJK
------解决方案--------------------
// 定义
string[] lines = { "A ", "B ", "C ", "D ", "E ", "F ", "G ", "H ", "I ", "J ", "K "};
for(int i=0, n=lines.length; i <n; i++)
for (int j=i; j <n; j++)
for (int k=j; k <n; k++)
// 输出
System.Console.WriteLine(lines[i] + lines[j] + lines[k]);

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有