首页 新闻 搜索 专区 学院

C#实现人员随机分组

0
悬赏园豆:50 [已解决问题] 解决于 2018-09-28 09:25

现在有5个人 A、B、C、D、E

需要两两分组

正确结果应该是可以分为10组,分别为A和B,A和C,A和D,A和E,B和C,B和D,B和E,C和D ,C和E,D和E

请教各位大神  如何用代码实现

谢谢

周大大的主页 周大大 | 菜鸟二级 | 园豆:232
提问于:2018-05-31 14:52
< >
分享
最佳答案
2

这一点都不随机好不好。

线性代数里面的排列和组合说的就是这个。

写个双循环结构就可以了。

for (i=0;i<5;i++)

{

    for(j=i+1;j<5;j++)

    {

    }

}

收获园豆:20
爱编程的大叔 | 高人七级 |园豆:30743 | 2018-05-31 15:24
其他回答(3)
0

两个循环应该可以结束的吧

   string[] str_arr = { "A", "B", "C", "D", "E" };

            for (var i = 0; i < str_arr.Length; i++)
            {

                for (var j = i + 1; j < str_arr.Length; j++)
                {
                    Console.WriteLine("分组:" + str_arr[i] + "-" + str_arr[j]);
                }
            }
收获园豆:10
华临天下 | 园豆:1394 (小虾三级) | 2018-05-31 15:27
0

这是个数学上的组合的问题,哪里是啥随机?

收获园豆:5
西漠以西 | 园豆:1670 (小虾三级) | 2018-05-31 16:54
0

一个数组{‘A,'B',‘C’,‘D’,‘E’}出来一个,然后和后面组合,然后第二个出来,和后面的组合。既5乘以4共20种组合,去掉重复的一半。

第二种一个循环,A和B,C,D,E。B和C,D,E既4+3+2+1

第一个数和后面的组合,第二个数和后面的组合。

收获园豆:15
good_idea | 园豆:74 (初学一级) | 2018-06-01 10:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册