資源描述:
《實(shí)驗(yàn)4-循環(huán)結(jié)構(gòu).pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、《C語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)序號(hào):4實(shí)驗(yàn)項(xiàng)目:循環(huán)結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康募耙?.熟悉掌握while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法2.掌握在程序設(shè)計(jì)中用循環(huán)的方法實(shí)現(xiàn)一些常用算法3.掌握嵌套循環(huán)的使用方法4.比較3種循環(huán)的異同二、實(shí)驗(yàn)設(shè)備(環(huán)境)及要求使用VisualC++6.0;windows系列操作系統(tǒng)的環(huán)境。三、實(shí)驗(yàn)內(nèi)容與步驟1.分別用while、do-while、for語(yǔ)句編程,求數(shù)列前20項(xiàng)之和:2/1,3/2,5/3,8/5,13/8······【算法提示】1)定義實(shí)變量sum、term
2、、a、b、c,整變量i2)初始化:sum=0,分子a=2,分母b=13)初始化:i(計(jì)數(shù)器)=14)計(jì)算第i項(xiàng)term=a/b5)累加sum=sum+term6)計(jì)算c=a+b,更新b=a,更新a=c7)計(jì)數(shù)器加1,i++8)重復(fù)4、5、6、7,直到i>209)輸出2位精度的結(jié)果3次測(cè)試結(jié)果,數(shù)列前20項(xiàng)之和sum=2.36塊磚36人搬,男搬4女搬3,小孩2人搬1磚。要求一次全搬完,問(wèn)男、女、小孩各若干(人)?算法提示:設(shè)x,y,z表示男、女、小孩的人數(shù),則有不定方程:x+y+z=364x+3y+z/2=36對(duì)x,y
3、,z所有可能的組合測(cè)試出滿足條件的解。x、y、z的取值范圍:x:1~9,步長(zhǎng)1y:1~12,步長(zhǎng)1z:2~36,步長(zhǎng)2對(duì)x,y,z所有可能的組合:9×12×(36/2)重復(fù)測(cè)試條件:4*x+3*y+z/2==36&&x+y+z==36是否成立,若成立則打印出x、y、z的值。上機(jī)運(yùn)行結(jié)果有幾組解?男、女、小孩各多少人?3.設(shè)整數(shù)滿足條件:被3除余2,被5除余4,被7除余3,請(qǐng)編程求出滿足該條件的最小的10個(gè)自然數(shù)(要求必須使用while語(yǔ)句)運(yùn)行結(jié)構(gòu)截圖:4.編寫程序,輸入一個(gè)長(zhǎng)整型正數(shù),判斷該數(shù)是幾位數(shù)(要求必須使用
4、do-while語(yǔ)句)運(yùn)行結(jié)構(gòu)截圖:5.某生產(chǎn)豪華游輪的造船廠,第一年生產(chǎn)3艘,從第二年開始,每年產(chǎn)量是前一年的產(chǎn)量減去半艘再翻一番,請(qǐng)問(wèn)第10年產(chǎn)量多少艘?10年總產(chǎn)量多少艘?(要求必須使用for語(yǔ)句)運(yùn)行結(jié)構(gòu)截圖:6.把一張10元的人民幣兌換成2元和1元的紙幣,請(qǐng)問(wèn)有多少種兌換方法?輸出所有的兌換方法。運(yùn)行結(jié)構(gòu)截圖:7.參考例題3-23,寫一程序輸出以下圖案:(要求必須使用循環(huán))*************************運(yùn)行結(jié)構(gòu)截圖:8.【選做題】在3位自然數(shù)中,統(tǒng)計(jì)有2個(gè)位數(shù)相等,但3個(gè)數(shù)字不全相等的偶
5、數(shù)的個(gè)數(shù),并輸出所有滿足條件的數(shù)。運(yùn)行結(jié)構(gòu)截圖:四、分析與討論對(duì)上機(jī)實(shí)踐結(jié)果進(jìn)行分析,上機(jī)的心得體會(huì)。五、教師評(píng)語(yǔ)成績(jī)簽名:日期:附源程序清單:1.方法1:用while語(yǔ)句:#includeintmain(){inti=1;doublesum=0,term,a=2,b=1,c;while(i<=20){term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}printf("sum=%.2f",sum);return0;}方法2:用do-while語(yǔ)句:#include<
6、stdio.h>intmain(){inti=1;doublesum=0,term,a=2,b=1,c;do{term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}while(i<=20);printf("sum=%.2f",sum);return0;}方法3:用for語(yǔ)句:#includeintmain(){inti;doublesum=0,term,a=2,b=1,c;for(i=1;i<=20;i++){term=a/b;sum=sum+term;c=a+b;b
7、=a;a=c;}printf("sum=%.2f",sum);return0;}2.#includeintmain(){intx,y,z,i=0;for(x=1;x<=9;x++)for(y=1;y<=12;y++)for(z=2;z<=36;z=z+2)if(4*x+3*y+z/2==36&&x+y+z==36){i++;printf("有%d種方法.其中:x=%dy=%dz=%d",i,x,y,z);}return0;}3.#includeintmain()
8、{intx=0,i=0;while(i<10){if(x%3==2&&x%5==4&&x%7==3){printf("%d",x);i++;}x++;}return0;}4.#include#includeintmain(){longx;inti=0;printf("plesaeinputx(x為長(zhǎng)整形正數(shù)