一些小案例_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();//这里要清理一下数组,因为第二次运行会影响数据

暂时就这么点,后续会持续更新的!(案例还没整理完)

(虽然很鸡肋,但是都是一些常见或者经典的案例)

 

posted @ 2018-11-08 21:44  清风徐来i  阅读(658)  评论(0编辑  收藏  举报