程序设计题(补充-部分答案)

更新时间:2024-03-30 17:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

程序设计题(补充-部分答案)

1.---------------

创建存储过程gch: 数据表jt包含以下列:单位名称、姓名、职称、基本工资、职贴。根据“职称”列,计算“职贴”列。职称与职贴的对应关系:教授490;副教授250;讲师150;助教100。注:“职称”的的类型为Varchar(10)。

CREATE PROCEDURE gch AS

UPDATE jt SET 职贴 =case When 职称='教授' Then 490 When 职称='副教授' Then 250 When 职称='讲师' Then 150 ELSE 100 End

2.---------------

求s=-99-97-95-93-?-3-1

DECLARE @i smallint,@s smallint SET @i=-99 SET @s=0

WHILE @i<=-1 BEGIN

SET @s=@s+@i SET @i=@i+2 END

PRINT '-99-97-95-93-…-3-1='+str(@s)

3.---------------

编写程序,在100~999三位整数范围内,找出这样的数(水仙花数):

该数等于其各位数字的立方和。如:371=3^3+7^3+1^3,即371就是水仙花数。注意:3^3表示3的3次方,7^3表示7的3次方,1^3表示1的3次方。 4.---------------

创建一个存储过程,输入一个自然数,判断其是否为素数并使用输出参数将判断结果输出。 存储过程:

Create procedure pd

@i int, @s char(20) output as

declare @j int set @j=2

While @j<=@i-1 Begin

If @i % @j = 0 Break Set @j = @j+1 End If @j=@i

set @s='是素数' Else

set @s='不是素数'

5.---------------

求自然数1~100之间偶数之和 6.---------------

创建存储过程gcl: 统计数据表zcj (列名:学号、班级、姓名、期末成绩、平时成绩、总成绩)每个班级的人数。

CREATE PROCEDURE gcl AS

SELECT 班级 AS 班级,COUNT(班级) AS 人数 FROM zcj GROUP BY 班级

7.---------------

求s=2+4+8+16?+1024 8.---------------

编写程序,输出由1、2、3、4、5、6这六个数字组成的所有可能的两位数,并统计它们的个数。(双重循环) 9.---------------

创建存储过程gcb: 计算数据表gz(列名:单位名称、姓名、职称、基本工资、津贴、水电费、实发工资、备注)中的备注:职称为“教授”、 “讲师”、“助教”分别对应的备注为“高职”、 “中职”、“初职”。注:“职称”的的类型为Varchar(10),“备注”列的类型为Varchar(10)。

CREATE PROCEDURE gcb AS

UPDATE gz SET 备注 =case When 职称='教授' Then '高职' When 职称='讲师' Then '中职' When 职称='助教' Then '初职' End

11.---------------

求s=a+aa+aaa+?+aaa?aaa(n个a),其中a和n的值由用户使用Set或Select语句自己输入。例如,当a=3,n=4时,S=3+33+333+3333。 12.---------------

计算1^3+2^3+3^3+?+100^3. 其中:1^3表示1的3次方,2^3表示2的3次方,?,100^3表示100的3次方。 13.---------------

利用循环结构求s的值,S=1*2*3+2*3*4+?+i*(i+1)*(i+2)+?

+15*16*17的值。 14.---------------

输出一个数列:10,9,8,7,6,5,4,3,2,1 16.---------------

创建存储过程gcm: 根据学号查询对应的准考证号,数据表为学生信息表xsxx(列名:准考证号,学号,姓名,性别,专业,学院)。当执行存储过程exec gcm '201352480577',则可以显示学号为'201352480577'的同学的准考证号。注:“准考证号”、“学号”列的数据类型均为char(12)。

Create procedure gcm @xh char(12) as

select 准考证号 from xsxx where 学号=@xh

17.--------------- 计算1!+2!+?+20! 18.---------------

利用随机函数RAND和函数floor,产生30个1到20之间的随机整数,使用WHILE语句显示这30个随机数。 19.---------------

求s=0.01+0.02+0.03+?+1 20.--------------- 创建存储过程gce: 计算数据表fk(列名:序号、姓名、数学、物理、历史、政治、总分、分科意见)中的分科意见。总分>360,全能生;数学、物理分数之和>=160,理科生;其它情况:文科生。注:“分科

意见”列的类型为Varchar(10)。

CREATE PROCEDURE gce AS

UPDATE fk SET 分科意见 =case When 总分>360 Then '全能生' When 数学+物理>=160 Then '理科生' Else ' 文科生' End

21.---------------

求s=-99-97-95-93-?-3-1 22.---------------

创建存储过程gco:根据学号查询和该学号同一宿舍同学的姓名及联系电话,数据表为学生管理表xsgl(列名:学号,姓名,性别,宿舍号,专业,院系,联系电话)。当执行存储过程exec gco '201352480577',则可以显示和该学号同宿舍同学的姓名及联系电话。注:“学号”列的数据类型为char(12),“宿舍号”和“联系电话”列的数据类型均为varchar(20)。

Create procedure gco @xh char(12) as

select 宿舍号,联系电话 from xsgl where 宿舍号= (SELECT 宿舍号 FROM xsgl WHERE 学号=@xh)

23.---------------

设纸的厚度为0.5毫米,将纸对折,再对折?,求至少对折多少次,纸张的厚度能达到珠穆朗玛峰的高度8848米。 24.---------------

编写程序,输入一个数,判定该数是否为素数,如果是素数,则输出

“该数是素数”的信息,否则输出“该数不是素数”的信息。(素数是只能被1和其本身整除的数) 25.---------------

创建存储过程gck: 统计数据表zcj (列名:学号、班级、姓名、期末成绩、平时成绩、总成绩)每个班级总成绩的平均值。

CREATE PROCEDURE gck AS

SELECT 班级,avg(总成绩) AS 平均 FROM zcj GROUP BY 班级

26.---------------

在国际象棋棋盘的64个格上依次放入小麦1粒、2粒、4粒、8粒?,求按此规律放满64个格需要多少粒小麦。 27.---------------

求s=1+1/2*2+1/3*3+1/4*4+?+1/100*100 28.---------------

创建存储过程gcq:根据优惠率输出对应图书的折后价,数据表为图书管理表tsgl(列名:图书标识,书名,图书分类,价格,出版日期)。如优惠率为20%,当执行存储过程exec tsgq 0.2,则显示对应图书的图书标识,书名及折后价。注:“图书标识”列的数据类型为char(6),“价格”列的数据类型为real。

Create procedure gcq @x real as

select 图书标识,书名,价格*@x as 折后价from tsgl 29.---------------

创建存储过程gcn:根据姓名查询对应的准考证号,数据表为学生信息

表xsxx(列名:准考证号,学号,姓名,性别,专业,学院)。当执行存储过程exec gcn '李丽',则可以显示姓名为'李丽'同学的准考证号。注:“准考证号”列的数据类型为char(12),“姓名”列的数据类型为varchar(10)。

Create procedure gcn @xm varchar(10) as

select 准考证号 from xsxx where 姓名=@xm

30.---------------

创建存储过程gci: 数据表bz包含以下列:姓名、性别、毕业学校、毕业时间、获奖级别、获奖次数、备注。根据“毕业时间”列计算“备注”列:2007年毕业的备注为“新聘”,其它为空白。注:“备注”列的类型为Varchar(10),“毕业时间”列的类型为Datetime。

CREATE PROCEDURE gci AS

UPDATE bz SET 备注 =case

When year(毕业时间)= 2007 Then '新聘' ELSE '' End

31.---------------

有一个分数序列,求出这个序列的前20项之和。2/1, 3/2, 5/3, 8/5, 13/8, 21/13, ?. 提示:后一项是前一项的倒数加1。 32.---------------

创建存储过程gcp:根据图书标识删除对应的图书信息,数据表为图书管理表tsgl(列名:图书标识,书名,图书分类,价格,出版日期)。当执行存储过程exec gcp 'TC4203',则可以删除标识为'TC4203'对应图书的数据。注:“图书标识”列的数据类型为char(6)。

Create procedure gcp @x char(6) as

delete from tsgl where 图书标识=@x

33.---------------

求和:1^1+2^2+3^3+?+10^10. 其中:1^1表示1的1次方, 2^2表示2的2次方,?, 10^10表示10的10次方。 35.--------------- 计算10! 36.---------------

利用循环结构求s的值,S=1*2*3+2*3*4+?+i*(i+1)*(i+2)+?+15*16*17的值。 37.---------------

创建存储过程gca: 计算数据表gz(列名:单位名称、姓名、基本工资、津贴、个人税、实发工资、备注)中的备注:单位名称为“理学院”、“工学院”、“商学院”分别对应的备注为“理”、“工”、“商”。注:“单位名称”的的类型为Varchar(20),“备注”列的类型为Varchar(10)。

CREATE PROCEDURE gca AS

UPDATE gz SET 备注 =case When 单位名称='理学院' Then '理' When 单位名称='工学院' Then '工'

ELSE '商' End

38.---------------

创建存储过程gcg: 数据表mz包括以下列:工号、司机、货物类别、毛重、皮重、净重。根据“司机”列数据计算“工号”列,李大方、赵美丽、张可爱的工号分别是“01”、“02”、“03”。注:“司机”列的类型为Varchar(10),“工号”列的类型为char(2)。

CREATE PROCEDURE gcg AS

UPDATE mz SET 工号 =case When 司机='李大方' Then '01' When 司机='赵美丽' Then '02' ELSE '03' End

39.---------------

创建存储过程gcj: 统计数据表xs(列名:序号、姓名、部门、工作时数、小时报酬、薪水)每个部门的薪水之和。 40.---------------

找出并输出100-999之间所有能被7整除的数

本文来源:https://www.bwwdw.com/article/mter.html

Top