设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[面试题库] 随机分配座位,共50个学生,使学号相邻的同学座位不能相邻

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-30 09:56:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻(早些时候用C#写的,没有用C改写)。
static void Main(string[] args)
{
int Tmp = 0, Count = 50;   
int[] Seats = new int[Count];   
bool[] Students = new bool[Count];
System.Random RandStudent=new System.Random();
Students[Seats[0]=RandStudent.Next(0,Count)]=true;
for(int i = 1; i < Count; ) {
     Tmp=(int)RandStudent.Next(0,Count);
     if((!Students[Tmp])&&(Seats[i-1]-Tmp!=1) && (Seats[i-1] – Tmp) != -1) {
   Seats[i++] = Tmp;
Students[Tmp] = true;
  }
}
foreach(int Student in Seats)
     System.Console.Write(Student + ” “);
System.Console.Read();
}
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-3 21:35 , Processed in 0.167741 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表