C#问题:输入一个数n,按顺序输出前n个数的全排列。

输入一个数n,按顺序输出前n个数的全排列。例如:输入:3输出:123132213231312321... 输入一个数n,按顺序输出前n个数的全排列。
例如:输入:3
输出:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
展开
 我来答
fly夜飞纷飞
2018-03-14 · TA获得超过132个赞
知道小有建树答主
回答量:168
采纳率:85%
帮助的人:109万
展开全部
class Program
    {
        static void Main(string[] args)
        {
            string n = Console.ReadLine();
            int r = 0;
            bool f = Int32.TryParse(n, out r);
            if (!f)
            {
                Console.WriteLine("请输入数字.");
                Console.ReadLine();
            }
            else
            {
                int[] outArray = new int[r];
                int[] temp = new int[r];
                Count(0, outArray, temp);
                Console.ReadLine();
            }
        }


        private static void Count(int step, int[] outArray, int[] temp)
        {
            if (step == outArray.Length)
            {
                for (int i = 0; i < outArray.Length; i++)
                {
                    Console.Write(outArray[i]);
                }
                Console.WriteLine();
                return;
            }
            for (int i = 0; i < outArray.Length; i++)
            {
                if (temp[i] == 0)
                {
                    outArray[step] = i + 1;
                    temp[i] = 1;
                    Count(step + 1, outArray, temp);
                    temp[i] = 0;
                }
            }
        }
    }

仅供参考,其实网上博客很多有类似的

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式