循環(huán)結(jié)構(gòu)程序(答案)_第1頁(yè)
循環(huán)結(jié)構(gòu)程序(答案)_第2頁(yè)
循環(huán)結(jié)構(gòu)程序(答案)_第3頁(yè)
循環(huán)結(jié)構(gòu)程序(答案)_第4頁(yè)
循環(huán)結(jié)構(gòu)程序(答案)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、循環(huán)結(jié)構(gòu)程序1 .利用隨機(jī)函數(shù)RAND和函數(shù)floor,產(chǎn)生30個(gè)1到20之間的隨機(jī)整數(shù),利用WHILE語(yǔ)句顯示這30個(gè)隨機(jī)數(shù)。declareint,xintselecti=lwhile<=30beginsetx=FLOOR(RANDO*(20-l+l)+l)setprintxend2 .設(shè)紙的厚度為毒米,將紙對(duì)折,再對(duì)折,求至少對(duì)折多少次,紙張的厚度能達(dá)到珠穆朗瑪峰的高度8848米。方式一:Declarehdecimal。0),nintselecth=,n=0whileh<8844000-運(yùn)算部份beginseth=h*2setn=n+lendselect'對(duì)折次后能夠超

2、過(guò)珠峰的高度-輸出部份方式二:Declarehdecimal(10,l),nintselecth=,n=Owhileh<8844000-運(yùn)算部份beginsetn=n+lseth=*power(2,n)end-select'對(duì)折次后能夠超過(guò)珠峰的高度'print'對(duì)折'+ltrim(str(i)+,次后能夠超過(guò)珠峰的高度'3 .求自然數(shù)1-100之間奇數(shù)之和declareint,sbigintselect=l,s=0whilei<=100beginsets=s+set=+2endselect,s-,s4 .編寫程序,輸出由一、二、3、4、五、

3、6這六個(gè)數(shù)字組成的所有可能的兩位數(shù),并統(tǒng)計(jì)它們的個(gè)數(shù)。declarexint,int,int,nintsetx=123456set =1setn=0while<=6beginsetj=lwhilej<=6beginprintstr(i)+str(,l)setn=n+lset=+1endset=+1endprint,n=l+stt(n,3)5 .編寫程序,輸入一個(gè)數(shù),判定該數(shù)是不是為素?cái)?shù),若是是素?cái)?shù),那么輸出“該數(shù)是素?cái)?shù)”的信息,不然輸出“該數(shù)不是素?cái)?shù)”的信息。方式一:用循環(huán)變等于要判定的數(shù)減一的方式來(lái)確信。declarexint,intset=2setx=6whilei<=x

4、-lbeginifx%=0breakelseset®=+1endifi=xprintstr(®x)+'是素?cái)?shù)'elseprintstt(x)4-'不是素?cái)?shù)'方式二:利用做記號(hào)的方式。declarexint,int>hbitsetjh=O-利用變量做記號(hào)seti=2setx=5while<=x-lbeginifx%=0beginseth=lbreakendelseset=+1endifjh=Oprintstt(x)+'是素?cái)?shù)'elseprintstr(x)+'不是素?cái)?shù)'6 .編程計(jì)算從1到30之間的所

5、有7的倍數(shù)之和declareint,sbigintselect=l,s=0while<=30beginif%7=0sets=s+set=+1endselect's=s7 .在國(guó)際象棋棋盤的64個(gè)格上依次放入小麥1粒、2粒、4粒、8粒,求按此規(guī)律放滿64個(gè)格需要多少粒小麥。分析:后一個(gè)數(shù)是前一個(gè)數(shù)的2倍,得出通式為:X=2*Xdeclarexfloat,Sfloat,nbigintselectx=l,s=0,n=lwhilen<=64beginsets=s+xsetx=2*xsetn=n+lprintxendprint,s=l+cast(sasvarchar(40)8 .求自

6、然數(shù)1-100之間偶數(shù)之和declareint,sbigintselect=0,s=0while<=100beginsets=s+set=+2endselect's=s9 .計(jì)算s=l+l/2+l/4+l/7+l/ll+l/16+l/22+l/29+當(dāng)?shù)趇項(xiàng)的值小于時(shí)終止。提示:找出規(guī)律,第i項(xiàng)的分母是前一項(xiàng)的分母加i減1。declarelint,sfloat,foifloat-是項(xiàng)數(shù),fm是分母,s是所求的和值set=1sets=0setfm=lwhilebeginsets=s+l/ftnset=+1setfm=fm+i-l一第i項(xiàng)的分母是前一項(xiàng)的分母加i減1endprint,

7、s='+str(s74)print'='4-stt(,7,4)一查看一下第多少項(xiàng)時(shí)1/fm為print,£m=,+str(fTn,7,4)-查看一下1/fin為時(shí)的firn是多少注意:分母(ftn)必需概念為float類型,不能概念為int,因兩個(gè)整數(shù)相除商為整數(shù)而得不到小數(shù)。10.編寫程序,在100999三位整數(shù)范圍內(nèi),找出如此的數(shù)(水仙花黝:該數(shù)等于其列位數(shù)字的立方和。如:371=3八3+7八3+1人3,即371確實(shí)是水仙花數(shù)。注意:3r表示3的3次方,7A3表示7的3次方,1A3表示1的3次方。分析:第一要會(huì)將數(shù)進(jìn)行分解,分解的方式咱們講過(guò)至少3種。第一

8、種,一樣的分解方式:Declarexint,aint,bint,cint»sintsetx=456Seta=floor(x/100)-掏出百位上的數(shù)字Setb=floor(x-a*100)/10)一掏出十位上的數(shù)字setc=x-a*100-b*10-掏出個(gè)位上的數(shù)字利用以上分解數(shù)的方式所編代碼為:Declarexint,aint,bint,cintprint'100-999之間的所有水仙花是:set x=100whilex<=999beginSet=flooK/lOO)-掏出百位上的數(shù)字Setb=floor(x-a*100)/10)一掏出十位上的數(shù)字setc=x-a*1

9、00-b*10-掏出個(gè)位上的數(shù)字ifpower(a>3)+power(b,3)+power(c,3)=xprintxsetx=x+lend笫二種,找通式方式:假設(shè)二1234個(gè)位二(Floor(x/l)%10十位二(Floor(x/10)%10百位二(Hoor(x/100)%10千位=(Floor(x/10(X)%10通式:X(i)=FLOOR(X/10(M)%10i從個(gè)位數(shù)起。利用以上分解數(shù)的方式所編代碼為:Declarekint;aint,bint,cintprint,100-999之間的所有水仙花是:*setx=100whilex<=999begin-掏出百位上的數(shù)字Seta=

10、(Floor(x/l00)%10Setb=(Floor(x/10)%10掏出十位上的數(shù)字setc=(Floor(x/l)%10-掏出個(gè)位上的數(shù)字ifpower(a3)+power(b,3)+power(c,3)=printxsetx=x+lend第三種,取子串的方式Declarexint,aint,bint,cintprint僅0-999之間的所有水仙花是:'setx=100whilex<=999beginSeta=str(substting(cast(xaschar(3),l,l),l)-掏出百位上的數(shù)字Setb=str(substring(cast(xaschar(3),2,

11、l),l)一掏出十位上的數(shù)字setc=str(substring(cast(xaschar(3),3,l),l)“掏出個(gè)位上的數(shù)字ifpower(a,3)+powBb,3)+power(c,3)=xprintxsetx=x+lend提示:代碼中的cast(cas疝n)是將數(shù)值型的X轉(zhuǎn)換為字符型數(shù)據(jù),以后用substring函數(shù)取子串,然后再將字符型數(shù)據(jù)用str函數(shù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。11.計(jì)算1!+2!+-+20!方式一:利用雙循環(huán)即循環(huán)嵌套來(lái)實(shí)現(xiàn)。declareslfloat,S2float,int,jintset=1setsl=0whilei<=4beginsetsets2=lwhil

12、ej<=beginsets2=s2*set=j+lendprintstr(-lZ+y+krim(str(2)setsl=sl+s2set=+1endprintl+2!+3!+的和sl='+cast(slasvarchar(40)方式二:利用單循環(huán)也可實(shí)現(xiàn)。declareslfloat,S2float,iinqjintset=1set sl=0-用來(lái)寄存和值set s2=l一用來(lái)寄存階乘值while<=4beginsets2=s2*setsl=sl+s2set=+1endprint1!+2+3!+的和©lT+casK©1噩varchar(40)類似的題目還

13、有:s=1+(1+2)+(1+2+3)+(1+2+3+4)+-.+(l+2+#+-+n),仿照上例自己編程實(shí)現(xiàn)。12.利用循環(huán)結(jié)構(gòu)求s的值,S=l*2*3+2*3*4+妙+l)*(i+2)+-+15*16*17的值。declareslfloat,S2float,int,intset=1setsl=0-用來(lái)寄存和值sets2=l一用來(lái)寄存乘積while<=3beginsets2=®*(+l)*(+2)setsl=sl+s2seti=+lendprint,1*2*3+2*3*4+i*Q+D*Q+2)+15*16*17的和s仁'+cast(slasvarchar(40)13.

14、有一個(gè)分?jǐn)?shù)序列,求出那個(gè)序列的前20項(xiàng)之和。2/1,3/2,5/3,8/5,13/8,21/13,提示:后一項(xiàng)為哪一項(xiàng)前一項(xiàng)的倒數(shù)加1。declaresfloat,xfloat,intset=1sets=0-用來(lái)寄存和值setx=2/lwhile<=3beginsets=s+xset=+1set/x+l后一項(xiàng)為哪一項(xiàng)前一項(xiàng)的倒數(shù)加1endprint'2/1,3/2,5/3,8/5,13/8,21/13的前20項(xiàng)的和sT+cast(asvarchar(40)14 .計(jì)算1八3+2八3+3人3+10S3.注意:1人3表示1的3次方,2A3表示2的3次方,100人3表示100的3次方。

15、declaresbigint,intset=1sets=0-用來(lái)寄存和值whilel<=100beginsets=s+power(i,3)endprint”人3+2人3+3人3+100人3的和s='+cast(asvarchar(40)15 .編寫程序,用Print語(yǔ)句顯示150之間的奇數(shù)declareiintprint顯示150之間的奇數(shù),set=1while<=50beginprintset=+2end16.求s=a+aa+aaa+aaaaaa(n個(gè)a),其中a和n的值由用戶利用Set或Select語(yǔ)句自己輸入。例如,當(dāng)a=3再=4時(shí),S=3+33+333+3333o方

16、式一:用更復(fù)產(chǎn)生字符函數(shù)REPLICATE編程:declareiint,avarchar(10),sbigintprint,求a+aa+aaaHFaaa-aaa(n個(gè)a)的和,sets=0set=1seta=t5twhilei<=4beginset a=,5,seta=replicate(a,)printasets=s+cast(aasin。set=+1endprint'求a+aa+aaaHFaaa-aaa(n個(gè)a)的和='+krim(str(s,15)方式二:按位權(quán)展開法如X=123按位權(quán)展開法取得結(jié)果為:X=l*102+2*101+3*10°,可得通式為X=X+Floor(a/l(T)%10)*10人3說(shuō)明:公

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論