用C#做题:有1到54个数字你怎么随机分给a b c d4个人

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:37:10

//54个数
List<int> data = new List<int>();
for (int i = 1; i <= 54; i++) data.Add(i);

//4个List<int>组成的数组,存放结果
List<int>[] person_data = new List<int>[4];
for (int i = 0; i < person_data.Length; i++) person_data[i] = new List<int>();

Random rand = new Random();
while (data.Count > 0)
{
int n=getOneRandData(ref data,rand);
int p=rand.Next(4);//是随机分,还是平均,即是否每个人得到的数字的个数相同,题意不清。此处随机分配。
person_data[p].Add(n);
}
}

private int getOneRandData(ref List<int> data,Random rand)
{
int index=rand.Next(data.Count);
int result = data[index];
data.RemoveAt(index);//选过的数立即删除
return result;
}

楼上的,当然是平