重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用SQL语言实现下列功能的SQL语句代码:
创新互联是一家专业从事网站制作、成都做网站、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!
1、创建[学生表]代码:
学生表(学号 char(6),姓名,性别,年龄,专业)
要求使用:主键(学号)、非空(姓名,专业)、检查(性别)
CREATE TABLE 学生表
(
学号 CHAR(6) PRIMARY KEY,
姓名 CHAR(10) NOT NULL,
性别 CHAR(2) NOT NULL CHECK (性别 IN ('男','女')),
年龄 INT,
专业 CHAR(20) NOT NULL
)
2、创建[选课表]代码:
选课表(ID,学号,课号,分数)
要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID)
CREATE TABLE 选课表
(
ID INT IDENTITY(1,1) NOT NULL,
学号 CHAR(6) NOT NULL FOREIGN KEY REFERENCES 学生表(学号),
课号 CHAR(10) NOT NULL FOREIGN KEY REFERENCES 课程表(课程号),
分数 INT CHECK (分数 BETWEEN(0,100))
)
3、将下列课程信息添加到课程表的代码
课程号 课程名 学分 先行课程号
100002 数据结构 2 100001
修改 课程号为100003的课程名:SQL数据库
删除 课程号为100002的课程信息
INSERT INTO 课程表 (课程号,课程名,学分,先行课程号)VALUES ('100002','数据结构',2,'100001')
UPDATE 课程表 SET 课程名 = 'SQL数据库' WHERE 课程号 = '100003'
DELETE FROM 课程表 WHERE 课程号 = '100002'
4、写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数)的代码
CREATE VIEW UV_选课表_OnShow
AS
SELECT A.学号,A.姓名,C.课程号,C.课程名,C.学分,B.分数
FROM 学生表 AS A INNER JOIN 选课表 AS B ON A.学号 = B.学号
INNER JOIN 课程表 AS C ON B.课号 = C.课程号
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用SQL实现:
(5)查询没有任何一门成绩在80分以下的所有学生的信息,包括学号、姓名和专业
SELECT 学生.学号,学生.姓名,学生.专业
FROM 学生,学习
WHERE 学生.学号 = 学习.学号
GROUP BY 学生.学号,学生.姓名,学生.专业
HAVING MIN(分数) 80
(6)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000
不知道没有获得奖学金的情况下,奖学金是多少,现假设是0
UPDATE 学生 SET 奖学金 = 1000 WHERE 学号 IN (SELECT 学生.学号
FROM 学生,学习
WHERE 学生.学号 = 学习.学号
GROUP BY 学生.学号
HAVING MAX(分数) = 100) and 奖学金 = 0
public class Student {
private int kemu1, kemu2, kemu3, kemu4, kemu5;
public int getKemu1() {
return kemu1;
}
public void setKemu1(int kemu1) {
this.kemu1 = kemu1;
}
public int getKemu2() {
return kemu2;
}
public void setKemu2(int kemu2) {
this.kemu2 = kemu2;
}
public int getKemu3() {
return kemu3;
}
public void setKemu3(int kemu3) {
this.kemu3 = kemu3;
}
public int getKemu4() {
return kemu4;
}
public void setKemu4(int kemu4) {
this.kemu4 = kemu4;
}
public int getKemu5() {
return kemu5;
}
public void setKemu5(int kemu5) {
this.kemu5 = kemu5;
}
}
上边的是Student类
import java.util.ArrayList;
import java.util.Random;
public class Test {
public static void main(String[] args) {
ArrayListStudent list = new ArrayListStudent();
// 初始化成绩
for (int n = 0; n 20; n++) {
Student st = new Student();
st.setKemu1(new Random().nextInt(100));
st.setKemu2(new Random().nextInt(100));
st.setKemu3(new Random().nextInt(100));
st.setKemu4(new Random().nextInt(100));
st.setKemu5(new Random().nextInt(100));
list.add(st);
}
// 计算平均成绩
int avg = 0;
for (int n = 0; n 20; n++) {
avg += list.get(n).getKemu1();
avg += list.get(n).getKemu2();
avg += list.get(n).getKemu3();
avg += list.get(n).getKemu4();
avg += list.get(n).getKemu5();
}
double avg2 = avg / 20;
System.out.println("全班平均成绩" + avg2);
// 计算谁得奖
for (int n = 0; n 20; n++) {
double avg3;
int avg4 = 0;
avg4 += list.get(n).getKemu1();
avg4 += list.get(n).getKemu2();
avg4 += list.get(n).getKemu3();
avg4 += list.get(n).getKemu4();
avg4 += list.get(n).getKemu5();
avg3 = avg4;
System.out.println((n + 1) + "成绩为" + avg3);
if (avg3 (avg2 * 1.2)) {
System.out.println((n + 1) + "该生获得1等将");
}
if (avg3 (avg2 * 1.1)) {
System.out.println((n + 1) + "该生获得2等将");
}
}
}
}
好了 可以了
ArrayList是动态数组
Person.java
Teacher.java
Student.java
ArtStudent.java
Main.java
直接发文字提示包含不该发的内容.只能发图片了.
var
n,k,max:longint;
s:string;
qm,bj,lw,jj:array[1..100]of longint;
gb,xb:array[1..100]of char;
names:array[1..100]of string;
procedure init;
var
i,x,y,z:longint;
t:string;
tt:char;
begin
y:=0;
readln(n);
for i:= 1 to n do
begin
s:='';
read(tt);
while tt' ' do
begin
s:=s+tt;
read(tt);
end;
names[i]:=s;
read(qm[i],bj[i]);
read(tt);
read(gb[i]);
read(tt);
read(xb[i]);
readln(lw[i]);
end;
end;
procedure main;
var
i,x,y:longint;
begin
max:=0;
for i:= 1 to n do
begin
if (qm[i]80) and (lw[i]0) then inc(jj[i],8000);
if (qm[i]85) and (bj[i]80) then inc(jj[i],4000);
if (qm[i]90) then inc(jj[i],2000);
if (qm[i]85) and (xb[i]='Y') then inc(jj[i],1000);
if (bj[i]80) and (gb[i]='Y') then inc(jj[i],850);
end;
for i:= 1 to n do if jj[i]max then
begin
k:=i;
max:=jj[i];
end;
end;
procedure print;
var
i,x,y,w:longint;
begin
w:=0;
writeln(names[k]);
writeln(jj[k]);
for i:= 1 to n do inc(w,jj[i]);
writeln(w);
end;
begin
init;
main;
print;
end.
楼主你试试看能用吧
给你提个想法,定义一个临时变量,初始为0,每次把当前学生的奖学金总额和这个临时变量对比,大于这个变量就把这个学生的奖学金总额赋值给这个变量,知道for循环结束,输出这个变量
#include stdio.h
#define BASE 8 /*要转换成几进制数/*
#define DIGIT 100 /*转换数的位数/*
int main(void)
{
int i,input;
int x[DIGIT];
printf("Please enter(Enter q to quit)")
while(scanf("%d",input)==1)
{
for (i=0;input!=0;input/=BASE)
x[i]%=input;
for (;i0;i--)
printf("%d",x[i]);
}
return 0;
}
要转换成16进制只要改下BASE的值就有了