一、 Java编程题
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
class Test1 { public static void main(String[] args) { //h高度,s经过高度 double h = 100,s = 0; for(int i = 1;i<=10;i++){ if(i==1){ s += h; }else{ s += h*2; } h /= 2; } System.out.println("第10次落地时,共经过"+s+"米"); System.out.println("第10次反弹"+h+"米"); } }
|
二、 JavaScript编程题
查找字符串"sdddrtkjsfkkkasjdddj"中出现次数最多的字符和次数。
<script> var str = "sdddrtkjsfkkkasjdddj"; var obj = {}; for(var i = 0;i<str.length;i++){ //获得索引为i的字符 var char = str.charAt(i); //若对象已有该字符属性,值加1 if(obj[char]){ obj[char]++; //第一次出现该字符,值记为1 }else{ obj[char] = 1; } } //记录出现最多次数 var max = 0; for(var key in obj){ if(obj[key]>=max){ max = obj[key]; } } //打印 for(var key in obj){ if(obj[key]==max){ console.log("出现次数最多的字符:"+key); console.log("出现次数:"+obj[key]); } } </script> |
三、 SQL编程题
员工表emp:员工编号eid,姓名ename,工作职位title,雇佣日期hiretime,工资salary,奖金bonus,部门 depart
部门表dept:部门编号did,名称dname,部门领导leader
员工数据:
1001,’张三’,’销售’,’1999-12-1’,3000.0,1100.0,’102’
1002,’李四’,’研发员’,’1998-2-11’,3500.0,null,’101’
1003,’王五’,’研发员’,’2001-1-15’,4000.0,null,’101’
1004,’赵六’,’美工’,’2001-12-1’,4000.0,null,’101’
1005,’武六奇’,’研发员’,’2001-7-1’,5500.0,null,’101’
1006,’齐八九’,’销售’,’2001-6-16’,3000.0,1500.0,’102’
1007,’钱多多’,’经理’,’2009-11-10’,6500.0,2000.0,’102’
1008,’张一一’,’销售’,’2007-12-10’,3800.0,1000.0,’102’
1009,’李丽丽’,’研发员’,’1999-8-19’,4500.0,null,’101’
1010,’王旺旺’,’销售’,’1999-9-1’,3600.0,1600.0,’102’
1011,’赵有才’,’经理’,’1999-4-30’,7000.0,1800.0,’101’
1012,’李雷’,’出纳’,’2007-10-10’,5000.0,500.0,’103’
1013,’韩梅’,’会计’,’2005-3-1’,6600.0,1000.0,’103’
1014,’张向阳’,’经理’,’2002-6-1’,7000.0,1500.0,’103’
1015,’李向东’,’销售’,’2004-5-1’,4300.0,1000.0,’102’
部门数据:
‘101’,’研发部’,1007
‘102’,’销售部’,1011
‘103’,’财务部’,1014
-- 1、查询员工姓名及所做工作
SELECT ename,title FROM emp;
-- 2、查询员工姓名及年薪
SELECT ename,salary*12 AS "年薪" FROM emp;
-- 3、查询工资大于4000的员工信息
SELECT * FROM emp where salary>4000;
-- 4、查询年薪大于20000的员工信息
SELECT * FROM emp having (salary*12>20000);
-- 5、查询没有奖金的员工
SELECT * FROM emp where bonus is null;
-- 6、查询工资大于3000同时有奖金的员工信息
SELECT * FROM emp where salary>3000 AND bonus is not null;
-- 7、查询工资大于3500但是小于5000的员工信息
SELECT * FROM emp where salary>3500 AND salary<5000;
-- 8、查询编号是1001、1003、1004的员工信息
SELECT * FROM emp where eid in (1001,1003,1004);
-- 9、查询编号不是1001、1003、1004的员工信息
SELECT * FROM emp where eid not in (1001,1003,1004);
-- 10、查询员工姓名是3个字的员工信息
SELECT * FROM emp where ename like "___";
-- 11、查询姓张的员工信息
SELECT * FROM emp where ename like "张%";
-- 12、查询出员工工资没有包含6和8的员工信息
SELECT * FROM (SELECT * FROM emp where salary not like "%6%") AS c where salary not like "%8%" ;
-- 13、按照工资由高到低查询员工信息
SELECT * FROM emp ORDER BY salary desc;
-- 14、要求查询出101部门的所有雇员信息,查询的信息按照工资由高到低排序,如果工资相等,则按照雇佣日期由早到晚排序。
SELECT * FROM emp WHERE depart=101 ORDER BY salary desc,hiretime;
-- 15、查询101部门有多少员工,每月平均发多少工资
SELECT count(eid) as "人数",avg(salary) as "月薪" FROM emp;
-- 16、查询101部门的所有员工信息,并显示所在部门名称
SELECT eid,ename,title,hiretime,salary,bonus,dname FROM emp LEFT JOIN depart on did=depart WHERE depart=101
-- 17、查询1001员工的部门领导信息
SELECT * FROM emp WHERE eid = (SELECT leader FROM emp LEFT JOIN depart on did=depart WHERE eid=1001);
-- 18、查询部门员工数量,平均工资,最低工资及最低工资的员工姓名
SELECT emp.depart,ename,t.s as "员工数量",t.a as "平均工资",t.m as "最低工资" from emp,(SELECT depart,count(eid) as s,avg(salary) as a,min(salary) as m FROM emp GROUP BY depart) as t
WHERE emp.depart=t.depart and emp.salary=t.m ORDER BY depart