循环结构程序问题详解Word文档下载推荐.docx
- 文档编号:19657505
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:11
- 大小:17.32KB
循环结构程序问题详解Word文档下载推荐.docx
《循环结构程序问题详解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《循环结构程序问题详解Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
,@n,'
次后可以超过珠峰的高度‘-输出部分
方法二:
set@h=0.5*power(2,@n)
--select'
次后可以超过珠峰的高度'
print'
+ltrim(str(@n))+'
3.求自然数1~100之间奇数之和
declare@iint,@sbigint
select@i=1,@s=0
=100
set@s=@s+@i
set@i=@i+2
select'
@s='
@s
4.编写程序,输出由1、2、3、4、5、6这六个数字组成的所有可能的两位数,并统计它们的个数。
declare@xint,@iint,@jint,@nint
set@x=123456
set@i=1
set@n=0
=6
set@j=1
while@j<
printstr(@i,1)+str(@j,1)
set@j=@j+1
end
@n='
+str(@n,3)
5.编写程序,输入一个数,判定该数是否为素数,如果是素数,则输出“该数是素数”的信息,否则输出“该数不是素数”的信息。
用循环变量等于要判断的数减一的方法来确定。
declare@xint,@iint
set@i=2
set@x=6
=@x-1
begin
if@x%@i=0
break
else
if@i=@x
printstr(@x)+‘是素数'
else
printstr(@x)+‘不是素数'
使用做记号的方法。
declare@xint,@iint,@jhbit
set@jh=0--使用变量做记号
set@x=5
set@jh=1
if@jh=0
printstr(@x)+‘是素数'
6.编程计算从1到30之间的所有7的倍数之和
if@i%7=0
7.在国际象棋棋盘的64个格上依次放入小麦1粒、2粒、4粒、8粒…,求按此规律放满64个格需要多少粒小麦。
分析:
后一个数是前一个数的2倍,得出通式为:
@X=2*@X
declare@xfloat,@Sfloat,@nbigint
select@x=1,@s=0,@n=1
while@n<
=64
set@s=@s+@x
set@x=2*@x
print'
+cast(@sasvarchar(40))
8.求自然数1~100之间偶数之和
declare@iint,@sbigint
select@i=0,@s=0
9.计算s=1+1/2+1/4+1/7+1/11+1/16+1/22+1/29+…当第i项的值小于0.0004时结束。
提示:
找出规律,第i项的分母是前一项的分母加i减1。
declare@iint,@sfloat,@fmfloat
--@i是项数,@fm是分母,@s是所求的和值
set@s=0
set@fm=1
while1/@fm>
0.0004
set@s=@s+1/@fm
set@fm=@fm+@i-1--第i项的分母是前一项的分母加i减1
+str(@s,7,4)
@i='
+str(@i,7,4)--查看一下第多少项时1/fm为0.0004
@fm='
+str(@fm,7,4)--查看一下1/fm为0.0004时的fm是多少
注意:
分母(@fm)必须定义为float类型,不能定义为int,因两个整数相除商为整数而得不到小数。
10.编写程序,在100~999三位整数范围内,找出这样的数(水仙花数):
该数等于其各位数字的立方和。
如:
371=3^3+7^3+1^3,即371就是水仙花数。
注意:
3^3表示3的3次方,7^3表示7的3次方,1^3表示1的3次方。
首先要会将数进行分解,分解的方法我们讲过至少3种。
第一种,一般的分解方法:
Declare@xint,@aint,@bint,@cint,@sint
set@x=456
Set@a=floor(@x/100)--取出百位上的数字
Set@b=floor((@x-@a*100)/10)--取出十位上的数字
set@c=@x-@a*100-@b*10--取出个位上的数字
使用以上分解数的方法所编代码为:
Declare@xint,@aint,@bint,@cint
100-999之间的所有水仙花是:
'
set@x=100
while@x<
=999
Set@a=floor(@x/100)--取出百位上的数字
Set@b=floor((@x-@a*100)/10)--取出十位上的数字
set@c=@x-@a*100-@b*10--取出个位上的数字
ifpower(@a,3)+power(@b,3)+power(@c,3)=@x
set@x=@x+1
第二种,找通式方法:
假设@x=1234
个位=(Floor(@x/1))%10
十位=(Floor(@x/10))%10
百位=(Floor(@x/100))%10
千位=(Floor(@x/1000))%10
通式:
X(i)=FLOOR(@X/10(i-1))%10i从个位数起。
Set@a=(Floor(@x/100))%10--取出百位上的数字
Set@b=(Floor(@x/10))%10--取出十位上的数字
set@c=(Floor(@x/1))%10--取出个位上的数字
第三种,取子串的方法
Set@a=str(substring(cast(@xaschar(3)),1,1),1)--取出百位上的数字
Set@b=str(substring(cast(@xaschar(3)),2,1),1)--取出十位上的数字
set@c=str(substring(cast(@xaschar(3)),3,1),1)--取出个位上的数字
代码中的cast(@xaschar(3))是将数值型的@X转换为字符型数据,之后用substring函数取子串,然后再将字符型数据用str函数转换为数值型数据。
11.计算1!
+2!
+…+20!
使用双循环即循环嵌套来实现。
declare@s1float,@S2float,@iint,@jint
set@s1=0
=4
set@j=1
set@s2=1
=@i
set@s2=@s2*@j
printstr(@j-1,2)+'
!
='
+ltrim(str(@s2))
set@s1=@s1+@s2
1!
+2!
+3!
+...的和@s1='
+cast(@s1asvarchar(40))
使用单循环也可实现。
set@s1=0--用来存放和值
set@s2=1--用来存放阶乘值
set@s2=@s2*@i
类似的题目还有:
s=1+(1+2)+(1+2+3)+(1+2+3+4)+….+(1+2+#+…+n),模仿上例自己编程实现。
12.利用循环结构求s的值,S=1*2*3+2*3*4+…+i*(i+1)*(i+2)+…+15*16*17的值。
set@s2=1--用来存放乘积
=3
set@s2=@i*(@i+1)*(@i+2)
1*2*3+2*3*4+…+i*(i+1)*(i+2)+…+15*16*17的和@s1='
13.有一个分数序列,求出这个序列的前20项之和。
2/1,3/2,5/3,8/5,13/8,21/13,….提示:
后一项是前一项的倒数加1。
declare@sfloat,@xfloat,@iint
set@s=0--用来存放和值
set@x=2/1
set@x=1/@x+1--后一项是前一项的倒数加1
2/1,3/2,5/3,8/5,13/8,21/13的前20项的和@s='
14.计算1^3+2^3+3^3+…+100^3.注意:
1^3表示1的3次方,2^3表示2的3次方,…,100^3表示100的3次方。
declare@sbigint,@iint
set@s=@s+power(@i,3)
1^3+2^3+3^3+…+100^3的和@s='
15.编写程序,用Print语句显示1~50之间的奇数
declare@iint
显示1~50之间的奇数'
=50
print@i
16.求s=a+aa+aaa+…+aaa…aaa(n个a),其中a和n的值由用户使用Set或Select语句自己输入。
例如,当a=3,n=4时,S=3+33+333+3333。
用重复产生字符函数REPLICATE编程:
declare@iint,@avarchar(10),@sbigint
求a+aa+aaa+…+aaa…aaa(n个a)的和'
set@a='
5'
set@a='
set@a=replicate(@a,@i)
print@a
set@s=@s+cast(@aasint)
求a+aa+aaa+…+aaa…aaa(n个a)的和@s='
+ltrim(str(@s,15))
按位权展开法
如X=123按位权展开法得到结果为:
X=1*102+2*101+3*100,可得通式为
X=X+Floor(((a/10^(i-1)))%10)*10^(i-1)
说明:
公式中的Floor(((a/10^(i-1)))%10),是把每一个数分离出来的通式。
由于该题每一个数位都相同,因此通式可写为
X=X+a*10(i-1)
declare@iint,@xbigint,@aint,@sbigint
求s=a+aa+aaa+…+aaa…aaa(n个a)的和'
set@x=0
set@x=@x+@a*power(10,@i-1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序 问题 详解