




已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.第二次實(shí)驗(yàn)C語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)報(bào)告專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí) 信安1302班 日期 2014.3.29 成績(jī) 實(shí)驗(yàn)組別 第 2 次實(shí)驗(yàn) 流程控制實(shí)驗(yàn) 指導(dǎo)教師 周時(shí)陽(yáng) 學(xué)生姓名 學(xué)號(hào) 同組人姓名 實(shí)驗(yàn)名稱 流程控制實(shí)驗(yàn) 3.1實(shí)驗(yàn)?zāi)康?.掌握復(fù)合語(yǔ)句,if語(yǔ)句,switch語(yǔ)句的使用,熟練掌握for,while,do-while三種基本的循環(huán)控制語(yǔ)句的使用,掌握重復(fù)循環(huán)技術(shù),了解轉(zhuǎn)移語(yǔ)句與標(biāo)號(hào)語(yǔ)句。2.掌握運(yùn)用for,while,do-while語(yǔ)句來編寫程序。3.練習(xí)轉(zhuǎn)移語(yǔ)句和標(biāo)號(hào)語(yǔ)句的使用。4.使用集成開發(fā)環(huán)境的調(diào)試功能:?jiǎn)尾綀?zhí)行,設(shè)置斷點(diǎn),觀察變量值。3.2實(shí)驗(yàn)內(nèi)容(一)計(jì)算個(gè)人所得稅。源程序如下:shangji2chengxu9#include int main() double x,y; do printf(請(qǐng)輸入工資數(shù):); scanf(%lf,&x); while(x0); if(x1000)y=0; else if(x2000)y=0.05*x; else if(x3000)y=0.1*x; else if(x4000)y=0.15*x; else if(x5000)y=0.2*x; else y=0.25*x; printf(個(gè)人所得稅為:%.2lf,y); return 0;實(shí)驗(yàn)步驟:步驟一:輸入工資數(shù)。步驟二:用if條件句劃分好范圍,使輸入的數(shù)據(jù)能被計(jì)算機(jī)讀取并歸入到相應(yīng)的范圍中。步驟三:根據(jù)對(duì)應(yīng)范圍的計(jì)算公式計(jì)算出個(gè)人所得稅并進(jìn)行輸出。調(diào)試及編譯過程:測(cè)試數(shù)據(jù):1500(第二類范圍)測(cè)試數(shù)據(jù):3500(第四類范圍)測(cè)試數(shù)據(jù):6000(第六類范圍)出現(xiàn)的不足及修改:無 運(yùn)行結(jié)果:輸出預(yù)期結(jié)果。(二)計(jì)算兩數(shù)的最大公約數(shù)和最小公倍數(shù)源程序如下:shangji2chengxu10#include int main() int x,y,m,n,r; do printf(input two numbers:); scanf(%d%d,&x,&y); while(x0)|(y0); m=x;n=y; while(r=(x%y)!=0) x=y; y=r; printf(最大公約數(shù)為:%dn,y); printf(最小公倍數(shù)為:%d,(m/y)*(n/y)*y); return 0;實(shí)驗(yàn)步驟: 步驟一:定義兩個(gè)整型變量,并輸入兩數(shù)賦值到這兩個(gè)變量。 步驟二:定義一個(gè)中間變量,用來實(shí)現(xiàn)輾轉(zhuǎn)相除法的過程中對(duì)余數(shù)的控制,設(shè)置一個(gè)循環(huán)語(yǔ)句用來尋求最大公約數(shù),其中循環(huán)結(jié)束的標(biāo)志為余數(shù)為0,即能整除。循環(huán)過程中不斷將y的值賦給x,再將r的值賦給y。 步驟三:退出循環(huán)后得出最大公約數(shù),再通過最大公約數(shù)得到最小公倍數(shù),最后將這兩數(shù)分別輸出。調(diào)試及編譯過程:測(cè)試數(shù)據(jù):12,30(一般情況)測(cè)試數(shù)據(jù):12,6(兩個(gè)成倍數(shù)的數(shù))測(cè)試數(shù)據(jù):7,13(兩個(gè)互質(zhì)的數(shù))出現(xiàn)的不足及修改:無 運(yùn)行結(jié)果:輸出預(yù)期的結(jié)果。(三)判斷一個(gè)數(shù)是否為素?cái)?shù)。源程序如下:shangji2chengxu11#include #includeint main() int n,r,i; do printf(input a number:); scanf(%d,&n); while(n2); for(i=2,r=1;i=sqrt(n);i+) r=n%i; if(r)printf(%d is a prime,n); else printf(%d is not a prime,n); return 0;實(shí)驗(yàn)步驟:步驟一:定義三個(gè)整型變量,分別用來存放該數(shù),控制循環(huán)的標(biāo)志數(shù),以及余數(shù)。 步驟二:設(shè)置循環(huán),將i從2開始直到該數(shù)的算數(shù)平方根,若余數(shù)為0或已到循環(huán)結(jié)束的標(biāo)志則退出循環(huán)。 步驟三:在循環(huán)結(jié)束后判斷余數(shù)的值,若不為0,則判斷該數(shù)為素?cái)?shù),否則該數(shù)不為素?cái)?shù)。調(diào)試及編譯過程:測(cè)試數(shù)據(jù):2(特殊情況)測(cè)試數(shù)據(jù):7(質(zhì)數(shù))測(cè)試數(shù)據(jù):12(不是質(zhì)數(shù))(四)輸出2到100間的素?cái)?shù)。源程序如下:shangji2chengxu12#include #includeint main() int i,j,r,t; t=0; for(i=2;i=100;i+) for(j=2,r=1;(j=sqrt(i)&r;j+) r=i%j; if(r) printf(%4d,i); if(!(+t%5)printf(n); return 0;實(shí)驗(yàn)步驟: 步驟一:定義四個(gè)整型變量,分別控制內(nèi)層循環(huán),外層循環(huán),余數(shù)及保證一行5個(gè)的數(shù)。 步驟二:外層循環(huán)為2到100間的數(shù),內(nèi)層循環(huán)為逐個(gè)檢查它們是否為素?cái)?shù),若是,則輸出,且t+1,當(dāng)t為5的倍數(shù)是輸出換行符即可保證一行5個(gè)。調(diào)試及編譯過程:出現(xiàn)的不足及修改: 編寫程序工程中if后沒有加花括號(hào),導(dǎo)致輸出錯(cuò)誤。后檢查并得知,if只控制一條語(yǔ)句,若要控制多條語(yǔ)句,需加上花括號(hào)形成復(fù)合語(yǔ)句。(五)輸出九九乘法表源程序如下:shangji2chengxu13#include int main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%-4d,i,j,i*j); printf(n); return 0;實(shí)驗(yàn)步驟: 步驟一:定義兩個(gè)整形變量,分別用來控制外層循環(huán)和內(nèi)層循環(huán)。 步驟二:輸出當(dāng)前的乘法公式。調(diào)試及編譯過程:出現(xiàn)的不足及修改:最開始編寫時(shí)內(nèi)層循環(huán)里的結(jié)束標(biāo)志為j=9,于是輸出的不是九九乘法表,而是它的兩倍,即有了多余的乘法公式。調(diào)試出來后將標(biāo)志改為j=i,于是多余的不被輸出。(六)課程設(shè)計(jì)教材52面3(3).輸出楊輝三角源程序如下:shangji2jiaocai52.3(3)#include int c(int m,int n);int main() int i,j1,j2; for(i=0;i=9;i+) for(j1=1;j1=20-i;j1+) printf( ); for(j2=0;j2=1&c(i,j2)=10&c(i,j2)=99) printf( ); else printf( ); printf(n); return 0;int c(int m,int n) if(!n) return 1; else return(c(m,n-1)*(m-n+1)/n);實(shí)驗(yàn)步驟: 步驟一:定義一個(gè)子函數(shù)用來計(jì)算需要輸出的數(shù)的值 步驟二:設(shè)置一個(gè)循環(huán)用來控制前導(dǎo)空格的數(shù)目,通過條件語(yǔ)句的判斷在一位數(shù)后輸出三個(gè)空格,在兩位數(shù)后輸出兩個(gè)空格,在三位數(shù)后輸出一個(gè)空格。調(diào)試及編譯過程:出現(xiàn)的不足及修改:為了使楊輝三角看起來比較整齊,需要控制空格的數(shù)量,不斷調(diào)整每行前導(dǎo)空格減少的數(shù)量來調(diào)整整齊度。(七)教材52.(1)面源程序改錯(cuò)源程序中scanf語(yǔ)句中n前沒有加&符號(hào),且程序末尾的return 0沒有放到花括號(hào)中去。修改后為:shangji2jiaocai52.1#includeint main() int i,n,s=1; printf(please enter n:); scanf(%d,&n); for(i=1;i=n;i+) s=s*i; printf(%d!=%d,n,s); return 0;調(diào)試及編譯過程:測(cè)試數(shù)據(jù):0(特殊情況)測(cè)試數(shù)據(jù):8出現(xiàn)的不足及修改:無 運(yùn)行結(jié)果:出現(xiàn)預(yù)期的結(jié)果。(八)教材52面2(1)分別用while和do while語(yǔ)句改寫程序下面是用while替換的情況:源程序如下:shangji2jiaocai52.2(1)#include int main() int i=1,n,s=1; printf(please enter n:); scanf(%d,&n); while(i=n) s*=i; i+; printf(%d!=%d,n,s); return 0;下面是用do while替換的情況:#includeint main() int i=1,n,s=1; printf(please enter n:); scanf(%d,&n); do s*=i; i+; while(i=s的最小n值,s由鍵盤端輸入。源程序如下:shangji2jiaocai52.2(2)#include int j(int n);int main() int i,s; printf(enter s:); scanf(%d,&s); for(i=0;i+) if(j(i)=s) break; printf(i=%d,i); return 0;int j(int n) int i,s=1; for(i=1;i=n;i+) s*=i; return (s);調(diào)試及編譯過程:測(cè)試數(shù)據(jù):1(特殊情況)測(cè)試數(shù)據(jù):40310出現(xiàn)的不足及修改:無 運(yùn)行結(jié)果:出現(xiàn)預(yù)期結(jié)果。(十)教材52面3.(2)將一行字符復(fù)制輸出,其中一個(gè)以上的空格用一個(gè)空格代替。源程序如下:shangji2jiaocai52.3(2)#include int main() char c,s81; int r=1,i=0; printf(enter :n); while(c=getchar()!=n) if(c!= ) r=1; si=c; i+; else if(r=1) r=0; si=c; i+; else ; si=0; puts(s); return 0;調(diào)試及編譯過程:測(cè)試數(shù)據(jù):前導(dǎo)多個(gè)空格的情況:測(cè)試數(shù)據(jù):前導(dǎo)一個(gè)空格的情況:測(cè)試數(shù)據(jù):前導(dǎo)沒有空格的情況:出現(xiàn)的不足及修改:無 運(yùn)行結(jié)果:出現(xiàn)預(yù)期的結(jié)果。3.3實(shí)驗(yàn)總結(jié)1.本次實(shí)驗(yàn)進(jìn)行流程控制的實(shí)踐,期間運(yùn)用到了順序語(yǔ)句,循環(huán)語(yǔ)句和條件語(yǔ)句,在高中時(shí)數(shù)學(xué)方面打下過一點(diǎn)基礎(chǔ),對(duì)設(shè)計(jì)算法方面也有一定的幫助。2通過本次實(shí)驗(yàn),主要是解決數(shù)學(xué)問題,為以后解決實(shí)際問題做好鋪墊,期間用到的語(yǔ)句結(jié)構(gòu)雖然比較簡(jiǎn)單,卻是寫大型應(yīng)用軟件不可缺少的基石。3.在編寫這些程序的過程中,相比之前又是一次大的進(jìn)步,由簡(jiǎn)單的語(yǔ)句過渡到簡(jiǎn)單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工會(huì)活動(dòng)猜明星活動(dòng)方案
- 就業(yè)人員專項(xiàng)活動(dòng)方案
- 工行余額提現(xiàn)活動(dòng)方案
- 盡孝揚(yáng)善活動(dòng)方案
- 小班放學(xué)整隊(duì)活動(dòng)方案
- 少兒閱讀創(chuàng)新活動(dòng)方案
- 少先隊(duì)衛(wèi)生月活動(dòng)方案
- 居委盆栽活動(dòng)方案
- 工匠精神系列活動(dòng)方案
- 工程公司黨建活動(dòng)方案
- 2025版國(guó)家開放大學(xué)法律事務(wù)專科《憲法學(xué)》期末考試總題庫(kù)
- 華中農(nóng)業(yè)大學(xué)《物聯(lián)網(wǎng)工程》2022-2023學(xué)年第一學(xué)期期末試卷
- 【MOOC】融合新聞:通往未來新聞之路-暨南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 電信總經(jīng)理談服務(wù)
- 防雷應(yīng)急演練方案
- 半結(jié)構(gòu)化面試題100題
- 第三章更好統(tǒng)籌發(fā)展和安全的途徑和方法-國(guó)家安全教育大學(xué)生讀本教案
- 房屋及相關(guān)設(shè)施零星維修工程施工方案
- 部編版四年級(jí)語(yǔ)文下冊(cè) 期末詞語(yǔ)成語(yǔ)專項(xiàng)復(fù)習(xí)【含答案】
- 2025年危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全管理人員上崗證考試題庫(kù)(含答案)
- 紡織廠承包轉(zhuǎn)讓協(xié)議書范文范本
評(píng)論
0/150
提交評(píng)論