




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
3.第二次實(shí)驗(yàn)C語言程序設(shè)計(jì) 實(shí)驗(yàn)報(bào)告專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí) 信安1302班 日期 2014.3.29 成績 實(shí)驗(yàn)組別 第 2 次實(shí)驗(yàn) 流程控制實(shí)驗(yàn) 指導(dǎo)教師 周時(shí)陽 學(xué)生姓名 學(xué)號(hào) 同組人姓名 實(shí)驗(yàn)名稱 流程控制實(shí)驗(yàn) 3.1實(shí)驗(yàn)?zāi)康?.掌握復(fù)合語句,if語句,switch語句的使用,熟練掌握for,while,do-while三種基本的循環(huán)控制語句的使用,掌握重復(fù)循環(huán)技術(shù),了解轉(zhuǎn)移語句與標(biāo)號(hào)語句。2.掌握運(yùn)用for,while,do-while語句來編寫程序。3.練習(xí)轉(zhuǎn)移語句和標(biāo)號(hào)語句的使用。4.使用集成開發(fā)環(huán)境的調(diào)試功能:單步執(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)試及編譯過程:測試數(shù)據(jù):1500(第二類范圍)測試數(shù)據(jù):3500(第四類范圍)測試數(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)語句用來尋求最大公約數(shù),其中循環(huán)結(jié)束的標(biāo)志為余數(shù)為0,即能整除。循環(huán)過程中不斷將y的值賦給x,再將r的值賦給y。 步驟三:退出循環(huán)后得出最大公約數(shù),再通過最大公約數(shù)得到最小公倍數(shù),最后將這兩數(shù)分別輸出。調(diào)試及編譯過程:測試數(shù)據(jù):12,30(一般情況)測試數(shù)據(jù):12,6(兩個(gè)成倍數(shù)的數(shù))測試數(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)試及編譯過程:測試數(shù)據(jù):2(特殊情況)測試數(shù)據(jù):7(質(zhì)數(shù))測試數(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只控制一條語句,若要控制多條語句,需加上花括號(hào)形成復(fù)合語句。(五)輸出九九乘法表源程序如下: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ù)目,通過條件語句的判斷在一位數(shù)后輸出三個(gè)空格,在兩位數(shù)后輸出兩個(gè)空格,在三位數(shù)后輸出一個(gè)空格。調(diào)試及編譯過程:出現(xiàn)的不足及修改:為了使楊輝三角看起來比較整齊,需要控制空格的數(shù)量,不斷調(diào)整每行前導(dǎo)空格減少的數(shù)量來調(diào)整整齊度。(七)教材52.(1)面源程序改錯(cuò)源程序中scanf語句中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)試及編譯過程:測試數(shù)據(jù):0(特殊情況)測試數(shù)據(jù):8出現(xiàn)的不足及修改:無 運(yùn)行結(jié)果:出現(xiàn)預(yù)期的結(jié)果。(八)教材52面2(1)分別用while和do while語句改寫程序下面是用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)試及編譯過程:測試數(shù)據(jù):1(特殊情況)測試數(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)試及編譯過程:測試數(shù)據(jù):前導(dǎo)多個(gè)空格的情況:測試數(shù)據(jù):前導(dǎo)一個(gè)空格的情況:測試數(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)用到了順序語句,循環(huán)語句和條件語句,在高中時(shí)數(shù)學(xué)方面打下過一點(diǎn)基礎(chǔ),對(duì)設(shè)計(jì)算法方面也有一定的幫助。2通過本次實(shí)驗(yàn),主要是解決數(shù)學(xué)問題,為以后解決實(shí)際問題做好鋪墊,期間用到的語句結(jié)構(gòu)雖然比較簡單,卻是寫大型應(yīng)用軟件不可缺少的基石。3.在編寫這些程序的過程中,相比之前又是一次大的進(jìn)步,由簡單的語句過渡到簡單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅省初三上冊(cè)數(shù)學(xué)試卷
- 肝病病人護(hù)理
- 二三級(jí)數(shù)學(xué)試卷
- 德威七年級(jí)數(shù)學(xué)試卷
- 肛門癌術(shù)后護(hù)理課件
- 二升四三數(shù)學(xué)試卷
- 肌理畫課件背景介紹
- 2025年天津市衛(wèi)生健康委員會(huì)所屬天津市海河醫(yī)院招聘99人筆試歷年專業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 高血壓的并發(fā)癥及控制策略
- 給外國人做數(shù)學(xué)試卷
- GB/T 18391.3-2009信息技術(shù)元數(shù)據(jù)注冊(cè)系統(tǒng)(MDR)第3部分:注冊(cè)系統(tǒng)元模型與基本屬性
- GA/T 935-2011法庭科學(xué)槍彈痕跡檢驗(yàn)鑒定文書編寫規(guī)范
- 濟(jì)源幼兒園等級(jí)及管理辦法
- 房地產(chǎn)開發(fā)全流程培訓(xùn)講義課件
- 湖北省黃石市基層診所醫(yī)療機(jī)構(gòu)衛(wèi)生院社區(qū)衛(wèi)生服務(wù)中心村衛(wèi)生室信息
- DB44-T 2163-2019山地自行車賽場服務(wù) 基本要求-(高清現(xiàn)行)
- DB15T 933-2015 內(nèi)蒙古地區(qū)極端高溫、低溫和降雨標(biāo)準(zhǔn)
- 圍堰施工監(jiān)理實(shí)施細(xì)則
- 新概念英語第二冊(cè)單詞打印版
- 《世界經(jīng)濟(jì)史》課程教學(xué)大綱
- 小學(xué)語文一到六年級(jí)生字表
評(píng)論
0/150
提交評(píng)論