彩票的模拟中奖(C#)
抽了十几次就中了一个六等奖,切记远离彩票,太难中了(修改了一下,跟全面了,嘻嘻)
using System;
namespace Lottery
{
class Program
{
static int[] number = new int[7];
static int[] select = new int[7];
static void Main(string[] args)
{
for (int i = 0; i < 6; i++)
GetNumber(i, 1, 34);
GetNumber(6, 1, 17);
for (int i = 0; i < 6;)
{
string message = string.Format("请输入{0}号红球的数字(1 - 33):", i + 1);
Console.Write(message);
int count = int.Parse(Console.ReadLine());
if (count < 1 || count > 33)
Console.WriteLine("输入超出范围,请重新输入!!!");
else if (Array.IndexOf(select, count) >= 0)
Console.WriteLine("输入的号码已存在,请重新输入!!!");
else select[i++] = count;
Console.ReadKey();
Console.Clear();
}
while (select[6] < 1 || select[6] > 16)
{
Console.Write("请输入蓝球的数字(1 - 16):");
select[6] = int.Parse(Console.ReadLine());
if (select[6] < 1 || select[6] > 16)
Console.WriteLine("输入超出范围,重新输入");
Console.ReadKey();
Console.Clear();
}
Console.Clear();
AwardGrade();
}
private static void GetNumber(int site, int numberMin, int numberMax)
{
Random random = new Random();
int count;
do
{
count = random.Next(numberMin, numberMax);
number[site] = count;
} while (site != 6 || Array.IndexOf(number,count) != site);
}
private static void AwardGrade()
{
int redBall = 0, blueBall = 0;
for (int i = 0; i < 6; i++)
if (Array.IndexOf(number, select[i],0,6)>=0)
redBall++;
if (number[6] == select[6]) blueBall++;
if (redBall == 6 && blueBall == 1)
Console.WriteLine("恭喜获得一等奖!!!");
else if (redBall == 6)
Console.WriteLine("恭喜获得二等奖");
else if (redBall == 5 && blueBall == 1)
Console.WriteLine("恭喜获得三等奖");
else if ((redBall == 4 && blueBall == 1) || redBall == 5)
Console.WriteLine("恭喜获得四等奖");
else if (redBall == 4 || (redBall == 3 && blueBall == 1))
Console.WriteLine("恭喜获得五等奖");
else if (blueBall == 1)
Console.WriteLine("恭喜获得六等奖");
else Console.WriteLine("抱歉,你没中奖,继续加油哦");
Console.ReadKey();
}
}
}