資源描述:
《實(shí)驗(yàn)4-循環(huán)結(jié)構(gòu).doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、《C語言程序設(shè)計(jì)》實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)序號:4 實(shí)驗(yàn)項(xiàng)目:循環(huán)結(jié)構(gòu)學(xué) 號姓 名專業(yè)、班級實(shí)驗(yàn)地點(diǎn)指導(dǎo)教師實(shí)驗(yàn)時間一、實(shí)驗(yàn)?zāi)康募耙?.熟悉掌握while語句、do-while語句和for語句實(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語句編程,求數(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次測試結(jié)果,數(shù)列前20項(xiàng)之和sum=2.36塊磚36人搬,男搬4女搬3,小孩2人搬1磚。要求一次全搬完,問男、女、小孩各若干(人)?算法提示:設(shè)x,y,z表示男、女、小孩的人數(shù),則有不定方程:x+y+z=364x+3y+z/2=36對x,y,z所有可能的組合測試出滿足條件的解。x、y、z的取值范圍:x:1~9,
3、步長1y:1~12,步長1z:2~36,步長2對x,y,z所有可能的組合:9×12×(36/2)重復(fù)測試條件: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,請編程求出滿足該條件的最小的10個自然數(shù)(要求必須使用while語句)運(yùn)行結(jié)構(gòu)截圖:4.編寫程序,輸入一個長整型正數(shù),判斷該數(shù)是幾位數(shù)(要求必須使用do-while語句)運(yùn)行結(jié)構(gòu)截圖:5.某生產(chǎn)豪華游輪的造船廠,第一年生產(chǎn)3艘,從第二年開始,每年產(chǎn)量是前一年的產(chǎn)量減去半艘再翻一番,請問第1
4、0年產(chǎn)量多少艘?10年總產(chǎn)量多少艘?(要求必須使用for語句)運(yùn)行結(jié)構(gòu)截圖:6.把一張10元的人民幣兌換成2元和1元的紙幣,請問有多少種兌換方法?輸出所有的兌換方法。運(yùn)行結(jié)構(gòu)截圖:7.參考例題3-23,寫一程序輸出以下圖案:(要求必須使用循環(huán))*************************運(yùn)行結(jié)構(gòu)截圖:8.【選做題】在3位自然數(shù)中,統(tǒng)計(jì)有2個位數(shù)相等,但3個數(shù)字不全相等的偶數(shù)的個數(shù),并輸出所有滿足條件的數(shù)。運(yùn)行結(jié)構(gòu)截圖:四、分析與討論五、教師評語簽名:日期:成績附源程序清單:1.方法1:用while語句:#includevoidmain(){floatsum=0,
5、term,a=2,b=1,c;inti=1;while(i<=20){term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}printf("%.2f",sum);}方法2:用do-while語句:#includevoidmain(){floatsum=0,term,a=2,b=1,c;inti=1;do{term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}while(i<=20);printf("%.2f",sum);}方法3:用for語句:#includevoidmain(){flo
6、atsum=0,term,a=2,b=1,c;inti;for(i=1;i<=20;i++){term=a/b;sum=sum+term;c=a+b;b=a;a=c;}printf("%.2f",sum);}2.#includevoidmain(){intx,y,z;for(x=0;x<=9;x++)for(y=0;y<=12;y++)for(z=0;z<=36;z+=2)if(x+y+z==36&&4*x+3*y+0.5*z==36)printf("x=%dy=%dz=%d",x,y,z);}3.#includevoidmain(){int
7、i=0,n=1;while(i<10){if(n%3==2&&n%5==4&&n%7==3){printf("%d",n);i++;}n++;}}4.#includevoidmain(){longx,i=0;scanf("%ld",&x);do{if(x>10){x=x/10;i++;}elsebreak;}while(1);i=i+1;printf("%d",i);}5.#includevoidma