/*表结构*/
create table user(
reg_number varchar(20),
stu_name varchar(20) not null,
politic int(3),
english int(3),
math int(3),
specialized int(3),
primary key (reg_number)
);
/*测试样例*/
insert into user values('zju1111','stuA',60,50,80,80);
insert into user values('zju2222','stuB',100,120,80,80);
insert into user values('zju3333','stuC',40,25,120,30);
insert into user values('zju4444','stuD',59,90,80,81);
insert into user values('zju5555','stuE',90,48,100,96);
insert into user values('zju6666','stuF',100,100,77,100);
insert into user values('zju7777','stuG',56,100,100,120);
insert into user values('pku8888','stuH',57,47,77,209);
insert into user values('pku9999','stuI',57,47,77,208);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*再次筛选*/
public static int check(int politic, int english, int math, int specialized) {
int total = politic + english + math + specialized; //计算总分
int standard = 315; //基准分
int delta[] = { 0, 15, 20, 25 }; //差值分
if (politic < 60)
standard += delta[60 - politic];
if (english < 50)
standard += delta[50 - english];
if (math < 80)
standard += delta[80 - math];
1
2
3
4
5
6
7
8
9
10
11