随机分配座位,共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();
}
阅读全文