一些小案例_C#

时间:2023-12-12 21:04:08

下面是一些小的案例。(C#)

1,求一段数第n位

   //1  1  2  3  5  8  求30位
//规律是前两位之和是第三位数,
int n1 = ;//定义第一位
int n2 = ;//定义第二位
int sum = ;//总和
for (int i = ; i < ; i++) //因为我们定义过了第一位和第二位所以就从第3位开始
{
sum = n1 + n2;//把前两位的数求和给sum
n1 = n2;//把第二位数放在计算中的(第一位),
n2 = sum;//把前两位数的和放在计算中方的(第二位),
}
Console.WriteLine("第30位数为{0}", sum);//输出

2,百鸡百钱问题

   int Cock, Hen, Chick;//定义公鸡,母鸡,小鸡
//For循环版本百钱百鸡
for (Cock = ; Cock < ; Cock++) //因为公鸡最大不会超过19只,所以最多循环19次.
{
for (Hen = ; Hen < ; Hen++) //母鸡最大也不会超过33次,所以最多循环33次
{
Chick = - Cock - Hen; //小鸡等于100 - 公鸡个数 - 母鸡个数
if (Cock * + Hen * + Chick / == ) // 判断三种鸡乘以单价的总数是否等于100元
{
Console.WriteLine("公鸡有:{0}只, 母鸡有:{1}, 小鸡有:{2}", Cock, Hen, Chick);
}
}
}

3,合并数组并去重

 //合并数组去重
List<string> list1 = new List<string> { "a", "b", "c", "d", "e" };
List<string> list2 = new List<string> { "d", "e", "f", "g", "h" };
for (int i = ; i < list2.Count; i++)
{
if (!list1.Contains(list2[i]))//判断数组2中的值是否在数组1中存在
{
list1.Add(list2[i]);
}
}
for (int i = ; i < list1.Count; i++)
{
Console.WriteLine(list1[i]);
}

4,生成1-100不重复随机数据

  //生成1-100不重复随机数据,使用 Random方法
ArrayList lsit = new ArrayList();
Random r = new Random();
for (int i = ; i < ; i++)
{
int number = r.Next(, );
while (lsit.Contains(number))
{
r.Next(, ); }
lsit.Add(number);
Console.WriteLine(lsit[i]);
} lsit.Clear();//这里要清理一下数组,因为第二次运行会影响数据

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

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