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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大菜彩

家人们鼓励鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值