C++編程實例
隨機分配座位,共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();
}