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
更多推荐
SQL Server 基础练习题2
发布评论