C#对数字组合,例如1 2 3 4 5 ,可以组合成12345,1 2345,12 345,123 45,1234 5...数字的索引值顺序不能变

作者&投稿:哈哲 (若有异议请与网页底部的电邮联系)
c# 中 五个数字12345,有多少个不同的组合,用for循环写出来,求大神指教~

不用递归的算法,由于没有环境,只在java中测试过
mian方法里 String s[] = { "1", "2", "3" , "4" , "5"}; permutaions(s); public static void permutaions(String[] s) { for (int i = 0; i s.length) return; int[] idxes = new int[m]; int idx = m - 1; // 初始化第一组排列 for (int i = 0; i = 0) { if (idx == m - 1) { output(s, idxes); idxes[idx]++; if (idxes[idx] == s.length) { idx--; // 剩余的不足以排列 while ((idx >=0) && ((s.length - idxes[idx]) <= (m - idx))) { idx--; } } } else { idxes[idx]++; // 初始化第一组排列 for (int i = idx + 1; i < m; i++) idxes[i] = idxes[i - 1] + 1; idx = m - 1; } } } private static void output(String[] s, int[] idxes) { for (int i = 0; i < idxes.length; i++) { Console.Write(s[idxes[i]]); } Console.WriteLine(); }

将字符串转成char数组,然后为每个元素后面加上","组成新的字符串.

如下。       

   string str = "12345";             

   int index2 = str.IndexOf("2");  //求出字符串str里元素“2”的位置所在索引号,

   str = str.Insert(index2," ");     //在字符串该索引号的位置添加空格。

   Console.WriteLine(str);


结果如图,就有空格了。



so easy, 既然你数字顺序不变,那就随便在数字之间插入一个空格 不就可以了。代码木有必要我写了

                int[] array = new int[] { 1, 2, 3, 4, 5, 6 };
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < array.Length; i++)
                {
                    if (i > 0)
                    {
                        for (int j = 0; j < i; j++)
                        {
                            sb.Append(array[j].ToString());
                        }
                        sb.Append(" ");
                        sb.Append(array[i].ToString());
                        if (i != array.Length - 1)
                        {
                            for (int k = i + 1; k < array.Length; k++)
                            {
                                sb.Append(array[k].ToString());
                            }
                        }
                    }
                    sb.Append("<hr />");
                }
                Label1.Text = sb.ToString();



岳阳县15580856897: 用c#写:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?我不会写啊,求高手速来解决! -
啜钱特尔:[答案] 不讲究时间复杂度的话,程序如下 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication5{ class Program { static void Main(string[] ...

岳阳县15580856897: 如何在C#中,数字的排列组合!比如123,1代表在123中选1个数,2代表在456中选2个数,3代表在789中选3个数如何在C#中,在testbox随便输入3位的数... -
啜钱特尔:[答案] string a=this.testbox.text.substring(0,1);//第一位string b=this.testbox.text.substring(1,1);//第2位string c=this.testbox.text.substring(2,1);//第3位看不懂你要的是什么效果,可以用随机数再进行组合...

岳阳县15580856897: C#中用split将两个连续的数字1234差分到数组{1,2,3,4}. -
啜钱特尔: string str="1234"; char[] c = str.ToCharArray();

岳阳县15580856897: 用c#写:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? -
啜钱特尔: 不讲究时间复杂度的话,程序如下 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Co...

岳阳县15580856897: C# 数字排列 -
啜钱特尔: 还是找规律:2,3,4 找出其中2个;再结合1取出来;稍后贴代码; string a="1"; int[] b= { 2,3,4 }; foreach(int b1 in b) { foreach(int b2 in b) { if((b1!=b2)&&(b1<b2))//(b2!=b3)&&(b1!=b3)&& { for(int i=1;i<=4;i++) { MessageBox.Show(i.ToString()+","+a+","+b1.ToString()+","+b2.ToString()); } } } } 上个回答麻烦接下贴,谢谢!

岳阳县15580856897: 用C#求1 2 3 4能组成多少个不重复的三位数 -
啜钱特尔: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SolutionMath { class Program { static void Main(string[] args) { int n = 0; for (int i = 1; i < 5; i++) { for (int j = 1; j < 5; j++) { for (int k = 1; k < 5; k++) { ...

岳阳县15580856897: C#合并两个数组 -
啜钱特尔: int[] a = { 1, 2, 3, 4, 5 };int[] b = { 3, 5, 6 };var _list=a.ToList();foreach (var item in b){if (!_list.Contains(item))_list.Add(item);}return _list.ToArray();如果本身数组有重复的值,可以用Linq的Distinct来排除掉

岳阳县15580856897: 用C#编辑程序,输入数字为12345,则输出“1,2,3,4,5”. -
啜钱特尔: static void Main(string[] args) { int num = 12345; string res = string.Empty; for (int i = 0; i < num.ToString().Length; i++) { res += ","+num.ToString()[i].ToString() ; } Console.WriteLine(res.Substring(1)); Console.Read(); }

岳阳县15580856897: C#基础,将“1234”转换为数字1234,不得使用convert和parse方法,求大神指点!速 -
啜钱特尔: 123456 strings = "1234"; inti = 0; foreach(charc ins) { i = i * 10 + ((int)c-48); } 这个可行?输出i=1234

岳阳县15580856897: c# 如何实现自动产生1、2、3、4、5、6、7……按顺序的数字?? -
啜钱特尔: int i=0;//---select max(c_ConsumeId) from tb_ConsumeInfo.(查数据库得到值,把值赋给i) i=XX; i++; string strSql = "insert into tb_ConsumeInfo(c_ConsumeId) values (i)";---------------------------- 有更简单的,直接在数据库里面加上自动增长就行了:一般是在需要自动增长的列上加上 identity(1,1), 手动工具是在字段的自动标识里面设置

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网