我正在尝试使用C#使用循环获得以下输出,我想始终从A开始,然后创建包含B,C,D和E的所有可能路径,如下所示:
A B C D E
A B C E D
A B D C E
A B D E C
A B E C D
A B E D C
A C B D E
A C B E D
A C D B E
A C D E B
A C E B D
A C E D B
A D B C E
A D B E C
A D C B E
A D C E B
A D E B C
A D E C B
A E B C D
A E B D C
A E C B D
A E C D B
A E D B C
A E D C B
我已经编写了一个示例C#代码,但我总是被卡住而没有得到整个字符串。
答案 0 :(得分:1)
您可以检查下一个循环变量是否不等于任何先前的循环变量,如下所示:
char[] arr = { 'B', 'C', 'D', 'E' };
foreach (var b in arr)
{
foreach (var c in arr)
if (c != b)
foreach (var d in arr)
if (d != c && d != b)
foreach (var e in arr)
if (e != d && e != c && e != b)
Console.WriteLine(string.Concat('A', b, c, d, e));
Console.WriteLine();
}