随机分配座位,共50个学生,使学号相邻的同学座位不能相邻

 1     public static void assignSeat(){
 2         int count = 50;
 3         int[][] seats = new int[2][count];//int[0]是50个座位,存储值为学生号,int[1]是对应50个学生,值为1则为已分配,0未分配
 4         Random random = new Random();
 5         int student = random.nextInt(count);
 6         seats[0][0] = student;//先分配第一个座位给student号学生
 7         seats[1][student] = 1;
 8         for(int i = 1 ; i < count ;){
 9             student = random.nextInt(count);
10             if(seats[1][student] != 1 &&
11                     (student - seats[0][i-1]) !=1 &&
12                        (student - seats[0][i-1]) !=-1){
13                 seats[0][i++] = student;
14                 seats[1][student] = 1;
15             }
16             System.out.println( "loop");
17         }
18
19         for(int stu : seats[0])
20             System.out.print(stu + ",");
21     }
时间: 2024-08-26 07:01:39

随机分配座位,共50个学生,使学号相邻的同学座位不能相邻的相关文章

【c语言】有50个学生,要求输出成绩在80分以上的学生的学号和成绩

// 有50个学生,要求输出成绩在80分以上的学生的学号和成绩 // 为输入简单定为5个学生啊 #include <stdio.h> int main() { int i; int arr[5]; printf("请输入一批成绩:\n"); for( i = 0; i < 5; i++ ) { scanf("%d",&arr[i]); if( arr[i] >= 80 ) { printf("学号:%d 成绩:%d &quo

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从

明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号.然后再把这些数从小到大排序,按照排好的顺序去找同学做调查.请你协助明明完成"去重"与"排序"的工作. Input Param n               输入随机数的个数 inputArray      n个随机整数组成的数组 Return Value

第二部分:简答题(每题5分,共50分)

第二部分:简答题(每题5分,共50分) 1.写出在DNS服务器主配置文件中配置根提示的指令块.   zone "."IN       {        type hint;        file "named.ca; };   2.简述使用代理服务器和NAT上网的区别.           3.简述查看并设置本机默认网关的步骤.    route –n   [[email protected] 桌面]# vim /etc/sysconfig/network-scripts/

第十四周 【项目2-用文件保存的学生名单】若干名学生的学号 姓名和C++课、高数和英语成绩

运行代码: /* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:d.cpp *作 者:张旺华 *完成日期:2015年6月3日 *版 本 号:v1.0 */ /* *[项目2-用文件保存的学生名单] * 文件score.dat中保存的是若干名学生的学号 姓名和C++课.高数和英语成绩. */ #include <fstream> #include<iostream> #include<string&g

程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。

程序通过定义学生结构体变量,存储学生的学号.姓名和3门课的成绩.函数fun的功能是:对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据.例如,若b所指变量t中的学号.姓名和三门课的成绩一次是:10002."ZhangQi".93.85.87,修改后输出t中的数据应为:10004."Lijie".93.85.87. #include <stdio.h>#include <string.h>struct student { lo

- 查询“生物”课程比“物理”课程成绩高的所有学生的学号;

-- 查询“生物”课程比“物理”课程成绩高的所有学生的学号: -- 方法一 select * from score a LEFT JOIN course b on a.course_id = b.cid where b.cname='生物' select * from score a LEFT JOIN course b on a.course_id = b.cid where b.cname='物理' SELECT c.student_id,c.num,d.num from (select a

所有数学课程成绩 大于 语文课程成绩的学生的学号

CREATE TABLE course (id int,sid int ,course string,score int ) ; // 插入数据// 字段解释:id, 学号, 课程, 成绩INSERT INTO course VALUES (1, 1, 'yuwen', 43);INSERT INTO course VALUES (2, 1, 'shuxue', 55);INSERT INTO course VALUES (3, 2, 'yuwen', 77);INSERT INTO cours

【sql: 联系题26 ,27】查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩,查询课程名称为「数学」,且分数低于 60 的学生姓名和分数

题目:26:查询平均成绩大于等于 85 的所有学生的学号.姓名和平均成绩 分析:这个应该是根据student 进行分组 group by 再根据 having >= 85 进行过滤,然后在关联student 信息表,拿到学生的基本信息 SELECT student.id, student.stdentname,AVG(student_score.score) AS a FROM student_score, studentWHERE student.id = student_score.stud

查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩

-- 查询平均成绩大于等于 85 的所有学生的学号.姓名和平均成绩 SELECT s.Sid,s.Sname,avg FROM student AS s JOIN (SELECT Sid, AVG(score) AS avg FROM sc GROUP BY Sid HAVING avg >=85) AS k ON s.Sid = k.Sid; 原文地址:https://www.cnblogs.com/zunfengliu/p/12199051.html