實(shí)驗(yàn)三 分支程序設(shè)計(jì) 以及實(shí)驗(yàn)四.doc_第1頁(yè)
實(shí)驗(yàn)三 分支程序設(shè)計(jì) 以及實(shí)驗(yàn)四.doc_第2頁(yè)
實(shí)驗(yàn)三 分支程序設(shè)計(jì) 以及實(shí)驗(yàn)四.doc_第3頁(yè)
實(shí)驗(yàn)三 分支程序設(shè)計(jì) 以及實(shí)驗(yàn)四.doc_第4頁(yè)
實(shí)驗(yàn)三 分支程序設(shè)計(jì) 以及實(shí)驗(yàn)四.doc_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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)介

實(shí)驗(yàn)三 分支程序設(shè)計(jì) 一.實(shí)驗(yàn)?zāi)康?流程控制語(yǔ)句用于實(shí)現(xiàn)基本程序結(jié)構(gòu),是程序設(shè)計(jì)的基礎(chǔ)。本實(shí)驗(yàn)要求掌握條件語(yǔ)句和開關(guān)語(yǔ)句的使用。 二.實(shí)驗(yàn)內(nèi)容 1.輸入一個(gè)數(shù),判斷它的奇偶性后輸出結(jié)果。 【分析】判斷一個(gè)數(shù)是否為偶數(shù),只需要判斷它是否能被2整除,若能整除,則為偶數(shù),則為奇數(shù)。 #includeusing namespace std;int main()int input;coutinput;if(input%2)coutnumberinputtis odd; else coutnumberinputtis even; return 0;【要求】(1)分別使用數(shù)據(jù) 345 680 -34 -23.5 作為輸入數(shù)據(jù),測(cè)試程序,分析程序結(jié)果,并記錄結(jié)果。 輸入 結(jié)果 345odd680even34even23.5odd(2)使用上述數(shù)據(jù)測(cè)試結(jié)果正確嗎?如果有不正確之處請(qǐng)修改。有的正確,有的不正確最后一個(gè)有問(wèn)題#include using namespace std;int main( )int input;coutwhich number do you want to test:input;if(input%2=1|input%2=-1) coutnumberinputtis ood.;else coutnumberinputt0,輸出兩個(gè)不等的實(shí)根;若=0,輸出兩個(gè)相等實(shí)根;若0,輸出兩個(gè)復(fù)數(shù)根。 #include#includeusing namespace std;int main()float a,b,c;float d,x1,x2;cout請(qǐng)輸入三個(gè)數(shù)a,b,cabc; if(a=0)couta不能為0endl;return 1;else couta=atb=bc=cendl;d=b*b-4*a*c; if(d=0) cout方程有兩個(gè)相等實(shí)數(shù)根; coutx1=x2=-b/(2*a)0) d=sqrt(d); x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); cout方程有兩個(gè)不等實(shí)數(shù)根; coutx1=x1tx2=x2endl; else cout方程無(wú)實(shí)數(shù)根endl; return 0;1)參照主教材的例2.8 編寫源程序并調(diào)試運(yùn)行,并記錄結(jié)果。比較與例2.8 的不同之處。 輸入 結(jié)果 a=0 b=0 c=4a不能為0a=0 b=2 c=4a不能為0a=1 b=2 c=0方程有兩個(gè)不等式根X1=0,X22a=2 b=5 c=1X10.219224 x2=-2.28078(2)思考 if else 嵌套使用時(shí)的注意事項(xiàng)是什么?else總是和相離最近的if 對(duì)應(yīng)。3編寫程序:輸入一門課程的成績(jī),若高于90分,輸出“A grade ”;若高于80分而低于90分,輸出“B grade ”;若高于70分而低于80分,輸出“C grade ”;#includeusing namespace std;void main(void)float score;coutscore;coutthe grade isscore=90)coutA gradeendl;else if(80=score&score90)coutB grade=70)coutC grade=60)coutD gradeendl; else coutNOT PASSEDendl;【要求】 1. 使用if else 語(yǔ)句和switch 語(yǔ)句兩種方法實(shí)現(xiàn)。#includeusing namespace std;void main(void)float score;int n;coutscore;coutthe grade isscoreendl;n=score/10;switch(n)case 10:case 9:coutA Graden;break; case 8:coutB Graden;break; case 7:coutC Graden;break; case 6:coutD Graden;break;default:coutNOT PASSEDn;1. 2分析if else 語(yǔ)句和switch 語(yǔ)句的區(qū)別,switch 語(yǔ)句特別適合于什么情況使用? 適用于情況很多而且分類明確為具體的數(shù)字時(shí)3思考使用switch 語(yǔ)句時(shí)應(yīng)注意什么?注意常量表達(dá)式值各不相同 4、 編寫程序: 輸入一個(gè)數(shù),判斷其是否是3或7的倍數(shù),可分為4種情況輸出。(1) 是3的倍數(shù),但不是7的倍數(shù)。 (2) 不是3的倍數(shù),是7的倍數(shù)。(3) 是3的倍數(shù),也是7的倍數(shù)。 (4) 既不是3的被數(shù),也不是7的倍數(shù)。 #include using namespace std;int main()int c;coutc;if(c%21=0) coutcc是3和7的倍數(shù)endl;else if (c%3=0) coutcc是3不是7的倍數(shù)endl;else if (c%7=0) coutcc是7不是3的倍數(shù)endl;else coutcc不是3也不是7的倍數(shù)endl;return 0;實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?.掌握3種循環(huán)結(jié)構(gòu):while ,dowhile ,for 的區(qū)別與聯(lián)系,以及它們之間相互轉(zhuǎn)換的方法,并能正確使用它們。 2.掌握與循環(huán)語(yǔ)句相關(guān)的break 語(yǔ)句和continue 語(yǔ)句的使用方法二. 實(shí)驗(yàn)內(nèi)容1.輸入正整數(shù)n, 計(jì)算n的階乘。【分析】 由于n!=1*2*3*n,因此,要計(jì)算n的階乘可以從1開始,由1的階乘乘以2得到2的階乘,再乘以3得到3的階乘.以此類推。 #includeusing namespace std;int main()int n,i;double result=0;cout請(qǐng)輸入正整數(shù)n;if(n1)cout輸入有誤!endl;return 1;result=1;for(i=2;i=n;i+) result*=i;coutresultendl; return 0 ;(1)分別輸入數(shù)據(jù) -2, 1 ,5, 10, 20 調(diào)試運(yùn)行程序,并記錄程序結(jié)果。 輸入 結(jié)果 2輸入有誤115120103.5288e006202.4329e+018(2) 刪除程序中/A 處的賦值語(yǔ)句 return 1; 重新以上述數(shù)據(jù)調(diào)試運(yùn)行程序,結(jié)果是否正確,如果不正確,該如何修改?輸入 結(jié)果 2輸入有誤 1115120103.5288e006202.4329e+018不正確 應(yīng)該return 0 或者1 或者2 給她一個(gè)值否則程序在輸入有誤后將繼續(xù)執(zhí)行不能跳出(3) 刪除程序中/B處的語(yǔ)句 result=1;重新以上述數(shù)據(jù)調(diào)試運(yùn)行程序,結(jié)果是否正確,如果不正確,該如何修改?不正確 除了2其余結(jié)果都是0 或者在程序的開始初始化result=1(4) 將程序中語(yǔ)句 double result=0; 改為 int result=0; 重新以上述數(shù)據(jù)調(diào)試運(yùn)行程序,結(jié)果如何?為什么? N取較大的數(shù)時(shí),result變成0因?yàn)閕nt沒(méi)有那么大的值2. 范例:編程計(jì)算求的近似值。#include#includeusing namespace std;void main()long int i=0;double sum=0,term,pi;doi+=1;term=1.0/(i*i);sum+=term;while(term1e-12);pi=sqrt(sum*6);coutpi=piendl;1)輸入程序編譯后使用Debug跟蹤,單步執(zhí)行程序,記錄以下變量值的變化。(1)如下圖:等?;卮鹨韵聠?wèn)題:a)從跟蹤結(jié)果分析,term和sum的值有什么錯(cuò)誤?調(diào)試到循環(huán)結(jié)束需要的次數(shù)太多,不知道能不能直接到循環(huán)結(jié)束b)循環(huán)結(jié)束后,i的值是多少?用什么簡(jiǎn)單的辦法可以看到?在程序的最后加入cout”i=”iendl;.將輸入的小寫字母轉(zhuǎn)換成大寫字母?!痉治觥坑葾SCII碼表可以看出,大寫英文字母的ASCII碼值在65至90之間,小寫英文字母的ASCII碼值在97至122 之間,每一個(gè)英文字母的大寫和小寫的ASCII碼相差32。#includeusing namespace std;int main()char str100;int i=0;coutplease input a string.n;cin.getline(str,100);doif(striz)continue;stri-=32;while(str+i!=0);coutnThe result string is:strendl;return 0;4. 編程:設(shè)計(jì)一個(gè)程序,輸入一個(gè)日期,要求算出這一天是本年的第幾天?!痉治觥恳愠瞿程焓钱?dāng)年的第幾天,應(yīng)該將當(dāng)年中本月之前所有月的天數(shù)相加,再加上本月至此的天數(shù)。但這里有一個(gè)閏年問(wèn)題,2月是一個(gè)特殊月,閏年的2月有29天,非閏年的2月只有28天?!咎崾尽颗袛嗄衬晔情c年的條件是:該年號(hào)能被4整除但不能被100整除,或者能被400整除。例如,1996、2000是閏年,但1800不是閏年#include using namespace std;int main( )int year,month,day,result,F;cout請(qǐng)輸入年月日:yearmonthday;if(year%4=0&year%100!=0|year=0)F=28;switch(month)case 1: result=day;cout本年第result天;break;case 2: result=day+31;cout本年第result天;break;case 3: case 4:case 5:case 6:case 7: result=30*(month-2)+month/2+F+day;cout本年第result天;break; case 8: case 9:case 10:case 11:case 12: result=30*(month-2)+(month+1)/2+F+day; cout本年第result天;break; else F=29; switch(month)case 1: result=day;cout本年第result天;break;case 2: result=day+31;c

溫馨提示

  • 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)論