程序设计题库整理
- 格式:doc
- 大小:230.50 KB
- 文档页数:3
1、编写程序, 在 100~999 三位整数范围内 ,找出这样的数 (水仙花数 ):该数等于其各位数字
3+73+13
,即 371 就是水仙花数。
的立方和。如: 371=3
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)
5
4. 设圆华氏温度 F 的值为 20,求摄氏温度, 公式为 C= (F 32) ,要求用 Set 语句或 Select
9
语句给华氏温度 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
p
r
i
n
t
'
按
此
规
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
、
使
用
S
e
t
语
句
输
入
结果
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)+' 个'