實(shí)驗(yàn)報(bào)告-函數(shù)_第1頁(yè)
實(shí)驗(yàn)報(bào)告-函數(shù)_第2頁(yè)
實(shí)驗(yàn)報(bào)告-函數(shù)_第3頁(yè)
實(shí)驗(yàn)報(bào)告-函數(shù)_第4頁(yè)
實(shí)驗(yàn)報(bào)告-函數(shù)_第5頁(yè)
已閱讀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)介

1、深 圳 大 學(xué) 實(shí) 驗(yàn) 報(bào) 告 課程名稱: 程序設(shè)計(jì)基礎(chǔ) 實(shí)驗(yàn)項(xiàng)目名稱: 函數(shù)應(yīng)用 學(xué)院: 計(jì)算機(jī)與軟件學(xué)院 專業(yè): 指導(dǎo)教師: 朱映映 報(bào)告人: 文成 學(xué)號(hào):2011150259 班級(jí): 5 實(shí)驗(yàn)時(shí)間: 2011-12-12 實(shí)驗(yàn)報(bào)告提交時(shí)間: 2011-12-25 教務(wù)處制一、實(shí)驗(yàn)?zāi)康呐c要求:實(shí)驗(yàn)?zāi)康模?掌握自定義函數(shù)的一般結(jié)構(gòu)及定義函數(shù)的方法。2掌握形參、實(shí)參、函數(shù)原型等重要概念。3掌握函數(shù)聲明、函數(shù)調(diào)用的一般方法。4掌握遞歸函數(shù)的設(shè)計(jì)方法。實(shí)驗(yàn)要求:1輸入數(shù)據(jù)、輸出數(shù)據(jù)應(yīng)加以說明(交互性);2程序應(yīng)注意使用注釋語句(可讀性);3對(duì)各種可能的輸入情況都要考慮處理方案(健壯性);4養(yǎng)成好的

2、編程風(fēng)格;5在Webcc上提交C+源程序或執(zhí)行文件、輸出界面拷屏實(shí)驗(yàn)報(bào)告。6按報(bào)告內(nèi)容要求完成實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)環(huán)境:地點(diǎn): D506硬件環(huán)境:奔四機(jī)器編號(hào):軟件環(huán)境:操作系統(tǒng) WINDOS XPC+語言環(huán)境 VC 6.0 project類型:WIN32 Console Application三、實(shí)驗(yàn)內(nèi)容:1設(shè)計(jì)1個(gè)遞歸函數(shù)求斐波那契數(shù)列的前n項(xiàng)。斐波那契數(shù)列的第1項(xiàng)和第2項(xiàng)的值都為1,以后各項(xiàng)的值為其前兩項(xiàng)值之和。2設(shè)計(jì)求完全平方數(shù)的函數(shù),其功能是:在3位整數(shù)(100999)中尋找既是完全平方數(shù)(某個(gè)數(shù)的平方),又有兩位數(shù)字相同的整數(shù),例如144,676等,并依次從小到大存入數(shù)組b中,滿足該

3、條件的整數(shù)個(gè)數(shù)通過所設(shè)計(jì)的函數(shù)返回。35個(gè)學(xué)生,4門課,要求主函數(shù)分別調(diào)用各函數(shù)實(shí)現(xiàn):(1)找出成績(jī)最高的學(xué)生序號(hào)和課程。(2)找出不及格課程的學(xué)生序號(hào)及其各門課的全部成績(jī)。(3)求全部學(xué)生各門課程的平均分?jǐn)?shù),并輸出。4 設(shè)計(jì)菜單程序,可將所做的習(xí)題和上述實(shí)驗(yàn)集中在一個(gè)程序中。例如,運(yùn)行后首先在屏幕顯示如下菜單,當(dāng)輸入數(shù)值1后,調(diào)用素?cái)?shù)判斷的函數(shù)程序;輸入數(shù)值2后,調(diào)用完全平方數(shù)的函數(shù)程序;輸入數(shù)值3后,調(diào)用求最大公約數(shù)的函數(shù)程序;輸入數(shù)值4后,調(diào)用Fibonacci數(shù)列的遞歸函數(shù)程序;輸入數(shù)值5后結(jié)束程序。* Menu section * 1. 素?cái)?shù)判斷 * 2. 完全平方數(shù) * 3. 求最

4、大公約數(shù) * 4. 斐波那契數(shù)列 * 5. Exit * 4、 實(shí)驗(yàn)步驟與過程:(給出程序分析和算法描述(流程圖或文字)、程序核心代碼。)算法描述寫在代碼的注釋之中(1).#includelong fib(int);/返回斐波那契數(shù)列的第n項(xiàng)的值void main()int n;cout求斐波那契數(shù)列的前n項(xiàng)endln;for(int i=1;i=n;i+)/輸出斐波那契數(shù)列的前n項(xiàng)的值coutfib(i) ;cout2)return fib(n-1)+fib(n-2);elsereturn 1;(2).#includeint func(int array)/求完全平方數(shù)的函數(shù),并依次賦值給括

5、號(hào)中的函數(shù)int a,b,c,j=0,n=0;for(int i=10;i32;i+)c=(i*i)%10;a=(i*i)/100;b=(i*i)/10-10*a;if(a=b | b=c | a=c)/判斷是否有2位數(shù)字是一樣的arrayj=i*i;j+;n+;elsecontinue;arrayj=0;return j;/返回值是滿足該條件的整數(shù)的個(gè)數(shù)void main()int b30;func(b);/調(diào)用求完全平方數(shù)的函數(shù)for(int i=0;bi!=0;i+)/輸出該數(shù)組coutbi ;coutendl;cout滿足該條件的整數(shù)個(gè)數(shù)是:func(b)endl;(3).#inclu

6、deint T3_1(int array);/找出成績(jī)最高的學(xué)生序號(hào)void T3_2(int a,int b,int c,int d);/找出不及格課程的學(xué)生序號(hào)及其各門課的全部成績(jī)。double T3_3(int array);/求平均分?jǐn)?shù)void main()int a5,b5,c5,d5,i;cout請(qǐng)依次輸入這五名學(xué)生的科目1成績(jī)endl;/輸入科目成績(jī)for(i=0;iai;cout請(qǐng)依次輸入這五名學(xué)生的科目2成績(jī)endl;for(i=0;ibi;cout請(qǐng)依次輸入這五名學(xué)生的科目3成績(jī)endl;for(i=0;ici;cout請(qǐng)依次輸入這五名學(xué)生的科目4成績(jī)endl;for(i=

7、0;idi;cout科目1成績(jī)最高的學(xué)生是:第T3_1(a)名endl;/(1)找出成績(jī)最高的學(xué)生序號(hào)和課程。cout科目1成績(jī)最高的學(xué)生是:第T3_1(a)名endl;cout科目1成績(jī)最高的學(xué)生是:第T3_1(a)名endl;cout科目1成績(jī)最高的學(xué)生是:第T3_1(a)名endl;T3_2(a,b,c,d);/(2)找出不及格課程的學(xué)生序號(hào)及其各門課的全部成績(jī)。cout科目1的平均分?jǐn)?shù)為:T3_3(a)endl;/(3)求全部學(xué)生各門課程的平均分?jǐn)?shù),并輸出。cout科目2的平均分?jǐn)?shù)為:T3_3(b)endl;cout科目3的平均分?jǐn)?shù)為:T3_3(c)endl;cout科目4的平均分?jǐn)?shù)為

8、:T3_3(d)endl;int T3_1(int array)/找出成績(jī)最高的學(xué)生序號(hào)for(int i=1,j=1,max=array0;imax)max=arrayi;j+;return j;void T3_2(int a,int b,int c,int d)/找出不及格課程的學(xué)生序號(hào)及其各門課的全部成績(jī)。for(int i=0;i4;i+)if (ai60 | bi60 | ci60 | di60)cout第i+1名學(xué)生有不合格的科目,他的成績(jī)依次為:ai bi ci diendl;double T3_3(int array)/求平均分?jǐn)?shù)double sum,average;sum=a

9、rray0+array1+array2+array3;average=sum/4;return average;(4).#include#includeint prime(int x);/素?cái)?shù)判斷int func(int array);/求完全平方數(shù)的函數(shù),并依次賦值給括號(hào)中的函數(shù)int MaxCommonFactor(int,int);int T3_1(int array);/找出成績(jī)最高的學(xué)生序號(hào)void T3_2(int a,int b,int c,int d);/找出不及格課程的學(xué)生序號(hào)及其各門課的全部成績(jī)。double T3_3(int array);/求平均分?jǐn)?shù)long fib(i

10、nt);/返回斐波那契數(shù)列的第n項(xiàng)的值void main() cout*endl* Menu section *endl* 1. 素?cái)?shù)判斷 *endl* 2. 完全平方數(shù) *endl* 3. 求最大公約數(shù) *endl* 4. 斐波那契數(shù)列 *endl* 5. Exit *endl*endl;/輸出菜單供用戶選擇coutselect;switch(select) case 1:/素?cái)?shù)判斷int x;coutx;/輸入一個(gè)數(shù)if(prime(x)=1)/判斷該數(shù)是不是素?cái)?shù)cout是素?cái)?shù)endl;elsecout不是素?cái)?shù)endl;break;case 2:/完全平方數(shù)int b30;func(b);

11、/調(diào)用求完全平方數(shù)的函數(shù)for(int i=0;bi!=0;i+)/輸出該數(shù)組coutbi ;coutendl;cout滿足該條件的整數(shù)個(gè)數(shù)是:func(b)endl;break;case 3:/求最大公約數(shù)int num1,num2;cout請(qǐng)輸入2個(gè)正整數(shù)num1num2;cout它們的最大公約數(shù)是:MaxCommonFactor(num1,num2)endl;break;case 4:/斐波那契數(shù)列int n;cout求斐波那契數(shù)列的前n項(xiàng)endln;for(int i=1;i=n;i+)/輸出斐波那契數(shù)列的前n項(xiàng)的值coutfib(i) ;coutendl;case 5:exit(1)

12、;default:cout操作錯(cuò)誤endl;/操作錯(cuò)誤,自動(dòng)退出int prime(int x)/素?cái)?shù)判斷int i;for(i=2;ix;i+)if(x%i=0) return 0;return 1;int func(int array)/求完全平方數(shù)的函數(shù),并依次賦值給括號(hào)中的函數(shù)int a,b,c,j=0,n=0;for(int i=10;i2)return fib(n-1)+fib(n-2);elsereturn 1;5、 實(shí)驗(yàn)結(jié)果與數(shù)據(jù)分析:(有運(yùn)行結(jié)果的界面截圖,實(shí)驗(yàn)結(jié)果與實(shí)驗(yàn)結(jié)果分析,說明實(shí)驗(yàn)結(jié)果是否達(dá)到要求?并提出對(duì)程序的改進(jìn)想法)。(1).實(shí)驗(yàn)結(jié)果達(dá)到要求(2) .實(shí)驗(yàn)結(jié)果達(dá)到要求(3).實(shí)驗(yàn)結(jié)果達(dá)到要求(4).實(shí)驗(yàn)結(jié)果達(dá)到要求六、實(shí)驗(yàn)體會(huì):(自己在編程或程序編譯運(yùn)行中遇到的難點(diǎn)、問題及解決辦法)1.第三題一開始用1個(gè)二維數(shù)組來帶入這20個(gè)數(shù),但后來在定義函數(shù)時(shí)編譯通不過。諸如:int func(int array,b)、int func(arrayi)最后才用一維數(shù)組解決。一維數(shù)組就可以了int func(array)。2.最大公約數(shù)開始不會(huì)用遞歸函數(shù)解決,后來苦思終于明白了。3.發(fā)現(xiàn)將帶有cout語句的函數(shù)作為數(shù)輸出也

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論