一些小案例_C#
下面是一些小的案例。(C#)
1,求一段数第n位
1 //1 1 2 3 5 8 求30位 2 //规律是前两位之和是第三位数, 3 int n1 = 1;//定义第一位 4 int n2 = 1;//定义第二位 5 int sum = 0;//总和 6 for (int i = 3; i < 31; i++) //因为我们定义过了第一位和第二位所以就从第3位开始 7 { 8 sum = n1 + n2;//把前两位的数求和给sum 9 n1 = n2;//把第二位数放在计算中的(第一位), 10 n2 = sum;//把前两位数的和放在计算中方的(第二位), 11 } 12 Console.WriteLine("第30位数为{0}", sum);//输出
2,百鸡百钱问题
1 int Cock, Hen, Chick;//定义公鸡,母鸡,小鸡 2 //For循环版本百钱百鸡 3 for (Cock = 0; Cock < 20; Cock++) //因为公鸡最大不会超过19只,所以最多循环19次. 4 { 5 for (Hen = 0; Hen < 33; Hen++) //母鸡最大也不会超过33次,所以最多循环33次 6 { 7 Chick = 100 - Cock - Hen; //小鸡等于100 - 公鸡个数 - 母鸡个数 8 if (Cock * 5 + Hen * 3 + Chick / 3 == 100) // 判断三种鸡乘以单价的总数是否等于100元 9 { 10 Console.WriteLine("公鸡有:{0}只, 母鸡有:{1}, 小鸡有:{2}", Cock, Hen, Chick); 11 } 12 } 13 }
3,合并数组并去重
1 //合并数组去重 2 List<string> list1 = new List<string> { "a", "b", "c", "d", "e" }; 3 List<string> list2 = new List<string> { "d", "e", "f", "g", "h" }; 4 for (int i = 0; i < list2.Count; i++) 5 { 6 if (!list1.Contains(list2[i]))//判断数组2中的值是否在数组1中存在 7 { 8 list1.Add(list2[i]); 9 } 10 } 11 for (int i = 0; i < list1.Count; i++) 12 { 13 Console.WriteLine(list1[i]); 14 }
4,生成1-100不重复随机数据
1 //生成1-100不重复随机数据,使用 Random方法 2 ArrayList lsit = new ArrayList(); 3 Random r = new Random(); 4 for (int i = 0; i < 10; i++) 5 { 6 int number = r.Next(0, 100); 7 while (lsit.Contains(number)) 8 { 9 r.Next(0, 100); 10 11 } 12 lsit.Add(number); 13 Console.WriteLine(lsit[i]); 14 } 15 16 lsit.Clear();//这里要清理一下数组,因为第二次运行会影响数据
暂时就这么点,后续会持续更新的!(案例还没整理完)
(虽然很鸡肋,但是都是一些常见或者经典的案例)