叉鸭脖 2015-12-24 05:39 采纳率: 80%
浏览 2079
已采纳

C#怎么对4个数字做全排列并赋值给4个变量?

例如对已有的4个数字例如(1,2,3,4)做全排列并赋值给a1,a2,a3,a4?
对每个a1,a2,a3,a4的情况都要做一些操作的,就是想不明白怎么用循环之类的得出那4个变量的24种不同的情况

  • 写回答

5条回答 默认 最新

  • yangbo50304 2015-12-24 05:57
    关注

    是这个意思么?

     int[] array = {1, 2, 3, 4};
                int iCount = 0;
                for (int i1 = 0; i1 < 4; i1++)
                {
                    for (int i2 = 0; i2 < 4; i2++)
                    {
                        if (i2 == i1)
                        {
                            continue;
                        }
    
                        for (int i3 = 0; i3 < 4; i3++)
                        {
                            if (i3 == i1 || i3 == i2)
                            {
                                continue;
                            }
    
                            for (int i4 = 0; i4 < 4; i4++)
                            {
                                if (i4 == i1 || i4 == i2 || i4 == i3)
                                {
                                    continue;
                                }
                                iCount++;
                                Console.WriteLine("{0}-{1}-{2}-{3}", i1, i2, i3, i4);
                            }
                        }
                    }
                }
    
                Console.WriteLine("AllCount == {0}", iCount);
                Console.ReadKey();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog