资源描述:
《循环结构程序(答案)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、循环结构程序1.利用随机函数RAND和函数floor,产生30个1到20之间的随机整数,使用WHILE语句显示这30个随机数。
declare@iint,@xintselect@i=1while@i<=30beginset@x=FLOOR(RAND()*(20-1+1)+1)set@i=@i+1print@xend2.设纸的厚度为0.5毫米,将纸对折,再对折…,求至少对折多少次,纸张的厚度能达到珠穆朗玛峰的高度8848米。
方法一:Declare@hdecimal(10,1),@nintselect@h=0.5,@n=0while@h<88440
2、00--运算部分beginset@h=@h*2set@n=@n+1endselect'对折',@n,'次后可以超过珠峰的高度‘-输出部分方法二:Declare@hdecimal(10,1),@nintselect@h=0.5,@n=0while@h<8844000--运算部分beginset@n=@n+1set@h=0.5*power(2,@n)end--select'对折',@n,'次后可以超过珠峰的高度'print'对折'+ltrim(str(@n))+'次后可以超过珠峰的高度'3.求自然数1~100之间奇数之和
declare@iint,@
3、sbigintselect@i=1,@s=0while@i<=100beginset@s=@s+@iset@i=@i+2endselect'@s=',@s4.编写程序,输出由1、2、3、4、5、6这六个数字组成的所有可能的两位数,并统计它们的个数。declare@xint,@iint,@jint,@nintset@x=123456set@i=1set@n=0while@i<=6beginset@j=1while@j<=6beginprintstr(@i,1)+str(@j,1)set@n=@n+1set@j=@j+1endset@i=@i+1en
4、dprint'@n='+str(@n,3)5.编写程序,输入一个数,判定该数是否为素数,如果是素数,则输出“该数是素数”的信息,否则输出“该数不是素数”的信息。
方法一:用循环变量等于要判断的数减一的方法来确定。declare@xint,@iintset@i=2set@x=6while@i<=@x-1beginif@x%@i=0breakelseset@i=@i+1endif@i=@xprintstr(@x)+‘是素数'elseprintstr(@x)+‘不是素数'方法二:使用做记号的方法。declare@xint,@iint,@jhbitset
5、@jh=0--使用变量做记号set@i=2set@x=5while@i<=@x-1beginif@x%@i=0beginset@jh=1breakendelseset@i=@i+1endif@jh=0printstr(@x)+‘是素数'elseprintstr(@x)+‘不是素数'6.编程计算从1到30之间的所有7的倍数之和
declare@iint,@sbigintselect@i=1,@s=0while@i<=30beginif@i%7=0set@s=@s+@iset@i=@i+1endselect'@s=',@s7.在国际象棋棋盘的64个格
6、上依次放入小麦1粒、2粒、4粒、8粒…,求按此规律放满64个格需要多少粒小麦。
分析:后一个数是前一个数的2倍,得出通式为:@X=2*@Xdeclare@xfloat,@Sfloat,@nbigintselect@x=1,@s=0,@n=1while@n<=64beginset@s=@s+@xset@x=2*@xset@n=@n+1print@xendprint'@s='+cast(@sasvarchar(40))8.求自然数1~100之间偶数之和
declare@iint,@sbigintselect@i=0,@s=0while@i<=100b
7、eginset@s=@s+@iset@i=@i+2endselect'@s=',@s9.计算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@i=1set@s=0set@fm=1while1/@fm>0.0004beginset@s=@s+1/@fmset@i=@i+1set@fm=@fm+@i-1--第i项的分母是前一项的
8、分母加i减1endprint'@s='+str(@s,7,4)print'@i='+str(@i,7,4)--查看一下第多少项时1/fm