程序设计题库整理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、编写程序,在100~999三位整数范围内,找出这样的数(水仙花数):该数等于其各位数字的立方和。如:371=33+73+13,即371就是水仙花数。

declare @i int ,@k int,@a int, @b int ,@c int

set @i=100

set @k=0

while @i<=999

begin

set @a=@i/100

set @b=@i/10%10

set @c=@i%10

if @i=power(@a,3)+power(@b,3)+power(@c,3)

begin

print @i

set @k=@k+1

end

set @i=@i+1

end

print '100-999之间的水仙花总共有'+str(@k,1)+'个'

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

Declare @a int,@s int,@n int

Set @a=3

Set @n=1

Set @s=0

While @n<=4

Begin

Set @s=@s+replicate(@a,@n)

Set @n=@n+1

End

Print @s

3. 在银行存款,设存款金额p=2000元,存款期限n=5年,年利率r =0.05,编程计算5年后的本利和。

计算在银行存款的本利和公式为:p1=p×(1 + r )n

declare @p float, @n int, @r float ,@p1 float

set @p=2000

set @n=5

set @r=0.05

set @p1=@p*(1+@r)*@n

print '5年后的本利和'+str(@p1)

4. 设圆华氏温度F 的值为20,求摄氏温度,公式为C=)32(9

5 F ,要求用Set 语句或Select 语句给华氏温度F 赋值,输出要有文字说明。

declare @c float ,@f float

set @f=20

set @c=(5*(@f-32))/9

print @c

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

declare @i float ,@s float

set @i=1

set @s=0

while @i<=64

begin

set @s=@s+power(2,@i-1)

set @i=@i+1

end

print '按此规律放满64个格需要'+str(@s)+'粒小麦'

6、. 编写程序,输入一个正整数,判定该数是否为素数,如果是素数,则输出“该数是素数”的信息,否则输出“该数不是素数”的信息。

Declare @i int,@n int

Set @i=13

Set @n=2

While @n<=@i-1

Begin

If @i%@n=0 break

Set @n=@n+1

End

If @n=@i

Print str(@i)+'是素数'

Else

Print str(@i)+'不是素数'

7、计算1^3+2^3+3^3+…+100^3. 注意:1^3表示1的3次方,2^3表示2的3次方,…,100^3表示100的3次方。

declare @i int ,@s int,@a int,

set @s=0

set @i=1

while @i<=100

begin

set @a=power(@i,3)

set @s=@s+@a

set @i=@i+1

end

print '1^3+2^3+3^3+…+100^3='+str(@s)

8、使用Set语句输入一个整数N,判断其能否同时被3和5整除。使用Print语句输出判断结果

declare @a int

set @a=1

if @a%3=0 and @a%5=0

print '能否同时被3和5整除'

else

print '不能否同时被3和5整除'

9、将100以内的所有的素数打印出来.

declare @a int,@i int

set @a=2

while @a<=100

begin

set @i=2

while @i<=@a-1

begin

if @a%@i=0

break

set @i=@i+1

end

if @i=@a

print @a

set @a=@a+1

end

10、编写程序,输出由1、2、3、4、5、6这六个数字组成的所有可能的两位数,并统计它们的个数。

declare @i int ,@n int,@a int, @b int ,@c int

set @n=0

set @i=1

while @i<=6

begin

set @a=1

while @a<=6

begin

set @b=@i*10+@a

print @b

set @n=@n+1

set @a=@a+1

end

set @i=@i+1

end

print str(@n)+'个'

相关文档
最新文档