版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《C語(yǔ)言》實(shí)驗(yàn)報(bào)告PAGE7-學(xué)生姓名及學(xué)號(hào)學(xué)院:理學(xué)院班級(jí):課程名稱:C語(yǔ)言實(shí)驗(yàn)題目:函數(shù)的應(yīng)用指導(dǎo)教師姓名及職稱:李鵬松教授方向?qū)嶒?yàn)師劉力實(shí)驗(yàn)師一、實(shí)驗(yàn)題目:函數(shù)的應(yīng)用二、實(shí)驗(yàn)?zāi)康模?.進(jìn)一步掌握函數(shù)的定義方法、調(diào)用方法,實(shí)參與形參的對(duì)應(yīng)關(guān)系,以及調(diào)用函數(shù)的執(zhí)行過(guò)程。2.掌握函數(shù)的嵌套調(diào)用、遞歸調(diào)用、數(shù)組作為函數(shù)參數(shù)的設(shè)計(jì)方法。3.進(jìn)一步理解變量的作用域和生存期。三、實(shí)驗(yàn)內(nèi)容:1.定義一個(gè)求階乘的遞歸調(diào)用函數(shù)doublefac(intn),在主函數(shù)中調(diào)用3次該函數(shù)分別求出8!、10!、18!的準(zhǔn)確值(結(jié)果:8!=40320,10!=3628800,18!=6402373705728000)。編寫(xiě)源程序,給出注釋及運(yùn)行結(jié)果。(提示,請(qǐng)參閱教材上174頁(yè)例8.7的程序)。2.編寫(xiě)一個(gè)將n個(gè)整數(shù)用選擇法按由小到大的順序排序的函數(shù)voidsort(intarray[],intn),在主函數(shù)中調(diào)用兩次該函數(shù),對(duì)任給出個(gè)數(shù)分別是10和15的兩組整數(shù)進(jìn)行排序。編寫(xiě)源程序,給出注釋及運(yùn)行結(jié)果。(提示,請(qǐng)參閱教材上181頁(yè)例8.13的程序)。3.編寫(xiě)一個(gè)求3個(gè)學(xué)生的各科平均成績(jī)的程序,每個(gè)學(xué)生有4科成績(jī),學(xué)生成績(jī)存放在a數(shù)組中,求平均成績(jī)需調(diào)用函數(shù)voidaver(floatarray[][4],intn),n為學(xué)生數(shù),其中a數(shù)組的矩陣表示為。編寫(xiě)源程序,給出注釋及運(yùn)行結(jié)果,自己試著增加學(xué)生數(shù)或者成績(jī)科數(shù)再運(yùn)行程序。(提示,可參閱教材183頁(yè)例8.14的程序,注意按科平均成績(jī)可存入數(shù)組A中,只需將A增加1行并先付初值0,求出平均值之后替換0)四、實(shí)驗(yàn)結(jié)果:1.#include<stdio.h>/*標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)*/voidmain()/*定義主函數(shù)為空類型*/{floatfac(intn);/*對(duì)fac進(jìn)行聲明*/inta,b,c;/*定義a,b,c為基本整型數(shù)據(jù)*/floatx,y,z;/*定義x,y,z為浮點(diǎn)型數(shù)據(jù)*/printf("inputthreeintergernumbers:\n");/*提示用戶輸入三個(gè)整數(shù)*/scanf("%d%d%d",&a,&b,&c);/*把輸入的三個(gè)整數(shù)依次存放到變量a,b,c中*/x=fac(a);/*求a的階乘,并賦給x*/y=fac(b);/*求b的階乘,并賦給y*/z=fac(c);/*求c的階乘,并賦給z*/printf("%d!=%10.0f\n",a,x);/*輸出a中的數(shù)值等于這個(gè)整數(shù)對(duì)應(yīng)的階乘結(jié)果*/printf("%d!=%10.0f\n",b,y);/*輸出b中的數(shù)值等于這個(gè)整數(shù)對(duì)應(yīng)的階乘結(jié)果*/printf("%d!=%10.0f\n",c,z);/*輸出c中的數(shù)值等于這個(gè)整數(shù)對(duì)應(yīng)的階乘結(jié)果*/}floatfac(intn)/*定義函數(shù)fac為浮點(diǎn)型,定義形參類型為基本整型*/{floatf;/*定義變量f為浮點(diǎn)型數(shù)據(jù)*/if(n<0)/*如果n中的數(shù)值小于0*/{printf("n<0,dataerror!");/*輸出n<0,dataerror!*/}else/*否則*/if(n==0||n==1)/*如果n為0,或n為1*/f=1;/*把1付給f*/else/*否則*/f=fac(n-1)*n;/*計(jì)算n的階乘,把結(jié)果賦給f*/return(f);/*把f中的數(shù)值帶回到主函數(shù)中*/}2.#include<stdio.h>/*標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)*/voidmain()/*定義主函數(shù)為空類型*/{ voidsort(intarray[],intn);/*對(duì)sort函數(shù)進(jìn)行聲明*/ intb[15],j,m,n=0; printf("Howmanynumbersyouwillinput:");/*詢問(wèn)用戶要輸入多少個(gè)數(shù)字*/ scanf("%d",&m);/*把輸入的數(shù)儲(chǔ)存在m中*/ printf("enterthearray\n");/*提示用戶輸入數(shù)字,以下來(lái)比較大小*/if(m==15)/*如果m中存儲(chǔ)的數(shù)值等于15*/ {for(j=0;j<15;j++)/*把0賦給j,如果j小于15,執(zhí)行下面的內(nèi)嵌語(yǔ)句,然后給j自加,一直進(jìn)行這個(gè)循環(huán),直到,j中的數(shù)值大于等于15*/ scanf("%d",&b[j]);/*把輸入的數(shù)一次存放在一維數(shù)組b[15]中*/ sort(b,15);/*對(duì)剛才輸入的十五個(gè)數(shù)字進(jìn)行排序*/printf("thesortedarray:\n");/*輸出thesortedarray:,并使光標(biāo)跳到下一行*/ for(j=0;j<15;j++)/*把0賦給j,如果j小于15,執(zhí)行下面的內(nèi)嵌語(yǔ)句,然后給j自加,一直進(jìn)行這個(gè)循環(huán),直到,j中的數(shù)值大于等于15*/ { printf("%5d",b[j]);/*按照從小到大的順序依次輸出剛才輸入的十五個(gè)數(shù)字*/ n=n+1;/*使n中的數(shù)值加1,并將結(jié)果賦給n*/ if(n%5==0)/*如果,n除以5的余數(shù)為零*/ printf("\n");/*使光標(biāo)跳到下一行的開(kāi)始*/ } }if(m==10)/*如果m中的數(shù)值為10*/ {for(j=0;j<10;j++)/*把0賦給j,如果j小于10,執(zhí)行下面的內(nèi)嵌語(yǔ)句,然后給j自加,一直進(jìn)行這個(gè)循環(huán),直到,j中的數(shù)值大于等于10*/ scanf("%d",&b[j]);/*把輸入的數(shù)一次存放在一維數(shù)組b[10]中*/ sort(b,10);/*對(duì)剛才輸入的十個(gè)數(shù)字進(jìn)行排序*/printf("thesortedarray:\n");/*輸出thesortedarray:,并使光標(biāo)跳到下一行*/ for(j=0;j<10;j++)/*把0賦給j,如果j小于10,執(zhí)行下面的內(nèi)嵌語(yǔ)句,然后給j自加,一直進(jìn)行這個(gè)循環(huán),直到,j中的數(shù)值大于等于10*/ { printf("%5d",b[j]);/*按照從小到大的順序依次輸出剛才輸入的十個(gè)數(shù)字*/ n=n+1;/*使n中的數(shù)值加1,并將結(jié)果賦給n*/ if(n%5==0)/*如果,n除以5的余數(shù)為零*/ printf("\n");/*使光標(biāo)跳到下一行的開(kāi)始*/ }} }voidsort(intarray[],intn)/*定義函數(shù)sort為空,定義這個(gè)函數(shù)的形式參數(shù),一個(gè)是整型的一維數(shù)組,一個(gè)是整型變量*/{ inti,j,k,t;/*定義i,j,k,t為基本整型數(shù)據(jù)*/ for(i=0;i<n-1;i++)/*把o賦給i,如果i小于n-1,就執(zhí)行下面的內(nèi)嵌語(yǔ)句,然后,i自加1,一直進(jìn)行這個(gè)循環(huán),直到i大于等于n-1*/ { k=i;/*把i中的數(shù)值賦給k*/ for(j=i+1;j<n;j++)/*把i+1賦給j,如果j<n,執(zhí)行下面的內(nèi)嵌語(yǔ)句,j自加,一直進(jìn)行這個(gè)循環(huán),直到j(luò)大于等于n*/ if(array[j]<array[k])/*如果一維數(shù)組array的第j+1個(gè)數(shù)字小于array第k+1個(gè)數(shù)字*/ k=j;/*把j中的數(shù)值賦給k*/ t=array[k];/*把一維數(shù)組array的第k+1個(gè)數(shù)字賦給t*/ array[k]=array[i];/*把一維數(shù)組array的第i+1個(gè)數(shù)字賦給array的第k+1個(gè)數(shù)字*/ array[i]=t;/*把t中的數(shù)值存放到一維數(shù)組array的第i+1個(gè)位置,并覆蓋原來(lái)的數(shù)值*/ }}3.#include<stdio.h>/*包含標(biāo)準(zhǔn)輸入輸出函數(shù)庫(kù)*/voidaver(floatarray[][4],intn)/*定義函數(shù)aver為空類型,定義形式參數(shù):數(shù)組array為二維的數(shù)組,里面包含的均是浮點(diǎn)型數(shù)據(jù),定義變量n為基本整型*/{ inti,j;/*定義變量i,j為基本整型數(shù)據(jù)*/ floats;/*定義s為浮點(diǎn)型數(shù)據(jù)*/ printf("theresultis:\n");/*輸出theresultis:,并使光標(biāo)跳到下一行*/ for(j=0;j<4;j++)/*把0賦給j,如果j小于4,就執(zhí)行下面的內(nèi)嵌語(yǔ)句,j自加1,一直進(jìn)行這個(gè)循環(huán),直到j(luò)大于等于4*/ { s=0;/*把0賦給s*/ for(i=0;i<n;i++)/*把0賦給i,如果i小于n,就執(zhí)行下面的內(nèi)嵌語(yǔ)句,i自加1,一直進(jìn)行這個(gè)循環(huán),直到i大于等于n*/s=s+array[i][j];/*把某一列上的全部元素累加*/ printf("%f\n",s/n);/*用s除以n,并以浮點(diǎn)型數(shù)據(jù)輸出*/ }}voidmain()/*定義主函數(shù)為空類型*/{ intn,i,j;/*定義變量n,i,j為基本整型數(shù)據(jù)*/ floata[100][4];/*應(yīng)以二維數(shù)組a為浮點(diǎn)型*/ printf("Howmanysubjectsofeverystudentswillyouinput:");/*輸出Howmanysubjectsofeverystudentswillyouinput:*/ scanf("%d",&n);/*把輸入的數(shù)值存放在變量n中*/ printf("a:");/*輸出a:*/ for(i=0;i<n;i++)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026天津市武清區(qū)“一區(qū)五園”面向社會(huì)招聘國(guó)企工作人員24人備考題庫(kù)及參考答案詳解一套
- 2025廣東佛山順德區(qū)勒流新球初級(jí)中學(xué)語(yǔ)文物理歷史和地理臨聘教師招聘?jìng)淇碱}庫(kù)及參考答案詳解一套
- 2026共青團(tuán)陽(yáng)新縣委招聘公益性崗位人員3人備考題庫(kù)(湖北)附答案詳解
- 2025福建福州安住發(fā)展有限公司中層干部市場(chǎng)化選聘1人備考題庫(kù)及答案詳解參考
- 2026中國(guó)能源建設(shè)集團(tuán)天津電力設(shè)計(jì)院有限公司校園招聘?jìng)淇碱}庫(kù)及完整答案詳解一套
- 2025年下半年山東高速集團(tuán)有限公司校園招聘339人備考題庫(kù)及答案詳解(奪冠系列)
- 2026上半年安徽事業(yè)單位聯(lián)考馬鞍山市直單位招聘88人備考題庫(kù)及參考答案詳解1套
- 浙江浙江武義縣人力資源和社會(huì)保障局招聘筆試歷年參考題庫(kù)附帶答案詳解
- 浙江2025年浙江柯城區(qū)教育局下屬事業(yè)單位選調(diào)筆試歷年參考題庫(kù)附帶答案詳解
- 浙江2025年下半年浙江慶元縣機(jī)關(guān)事業(yè)單位選調(diào)(選聘)27人筆試歷年參考題庫(kù)附帶答案詳解
- 北京市朝陽(yáng)區(qū)2026屆高三上英語(yǔ)期末考試試題含解析
- 亞急性硬化性全腦炎2-
- GB/T 6462-2025金屬和氧化物覆蓋層厚度測(cè)量顯微鏡法
- 工程量鑒定合同范本
- 建筑工程施工工藝詳細(xì)操作手冊(cè)
- 外科院感課件
- 2025國(guó)家核安保技術(shù)中心招聘筆試歷年常考點(diǎn)試題專練附帶答案詳解試卷3套
- 《鋼質(zhì)海船入級(jí)規(guī)范》
- 小區(qū)凈水設(shè)備維修方案(3篇)
- DB14∕T2248-2020 《煤礦安全風(fēng)險(xiǎn)分級(jí)管控和隱患排查治理雙重預(yù)防機(jī)制實(shí)施規(guī)范》
- 消防八小時(shí)以外管理課件
評(píng)論
0/150
提交評(píng)論