SQL Server 基础练习题2

时间: 2023-06-13 admin 文学

SQL Server 基础练习题2

SQL Server 基础练习题2

1、某人在国外留学,不熟悉当地天气预报中的华氏温度值,请编程按每隔10o输出0o到300o之间的华氏温度到摄氏温度的对照表,以方便他对照查找。已知华氏和摄氏温度的转换公式为C=5/9×(F-32),其中,C表示摄氏温度,F表示华氏温度 declare @F int,@C float set @F=0 while @F<=300 begin set @C=5.0/9.0*(@F-32) print('华氏温度='+cast(@F as nchar(3))+'时:摄氏温度='+cast(@C as char(10))) set @F=@F+10 end 2、假设银行一年整存零取的月为1.875%,现在某人手头有一笔钱,他打算在今后5年中,每年年底取出1000元作为该孩子来年的教育金,到第5年孩子毕业时刚好取完这笔钱,请编程计算第1年年底初时他应存入银行多少钱。 declare @i int,@money float set @money =0.0 set @i=0 while @i<5 begin set @money=(@money+1000)/(1+12*0.01875) set @i=@i+1 end print ('第1年年底初时他应存入'+cast(@money as nchar(8))+'元钱') 3、鸡兔同笼,共有98个头,386只脚,请用穷举法编程计算鸡、兔各有多少只。 declare @x int, @y int set @x=1 set @y=97 while @x<=98 begin if(@x+@y=98 and 2*@x+4*@y=386) begin print('鸡有'+cast(@x as nchar(3))+'只') print('鸭有'+cast(@y as nchar(3))+'只') break end else begin set @x=@x+1 set @y=@y-1 end end 4、古代《张丘建算经》中有一道 百鸡问题:公鸡每只5元,母鸡每只3元,小鸡3只1元。请用穷举法编程计算,若用100元买100只鸡,则公鸡、母鸡和小鸡各能买多少只。 declare @x int,@y int,@z int set @x=0 print('公鸡 母鸡 小鸡') while(@x<100) begin set @y=0 while(@y<100) begin set @z=0 while(@z<100) begin if(@x+@y+@z=100 and 5*@x+3*@y+(1/3)*@z=100) begin print(cast(@x as nchar(5))+cast(@y as nchar(5))+cast(@z as nchar(3))) break end set @z=@z+1 end set @y=@y+1 end set @x=@x+1 end 5、用100元人民币兑换10元、5元和1元的纸币(每一种都要有)共50张,请用穷举法编程计算共有几种兑换方案,每种方案各兑换多少张纸币。 declare @x int,@y int,@z int,@n int set @x=0 set @n=0 while(@x<50) begin set @y=0 while(@y<50) begin set @z=0 while(@z<50) begin if(@x+@y+@z=50 and 10*@x+5*@y+@z=100) begin print('10元有'+cast(@x as nchar(1))+'张') print('5元有'+cast(@y as nchar(1))+'张') print('1元有'+cast(@z as nchar(2))+'张') set @n=@n+1 break end set @z=@z+1 end set @y=@y+1 end set @x=@x+1 end print('共有'+cast(@n as nchar(1))+'种方案') 6、有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万无,你给我2分钱,第三天我仍给你10万元,你给我4分钱,……。你每天给我的钱是前一天的2倍,直到满一个(30天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。 declare @f float,@q float,@i int set @f=100000 set @q=0.01 set @i=1 while(@i<30) begin set @f=@f+100000 set @q=@q+@q*2 set @i=@i+1 end print('30天后,富人得到:'+cast(@f as nchar(8))+'元') print('30天后,穷人得到:'+cast(@q as nchar(13))+'元') 7、一辆卡车违反了交通规则,撞人后逃逸。现场有三人目击该事件,但都没有记住车号,只记住车号的一些特征。甲说,车号的前两位数字是相同的;乙说:车号的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:4位的车号正好是一个整数的平方。请根据以上线索编程协助警方找出车号,以便尽快破案,抓住交通肇事犯。 declare @i int,@j int,@k int,@m int set @i=0 while(@i<=9) begin set @j=0 while(@j<=9) begin if(@i!=@j) begin set @k=@i*1000+@i*100+@j*10+@j set @m=3 while(@m*@m<=@k) begin if(@m*@m=@k) begin print ('车牌号为:'+cast(@k as nchar(8))) end set @m=@m+1 end end set @j=@j+1 end set @i=@i+1 end