版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
金陵科枚學(xué)院學(xué)生實(shí)驗(yàn)報(bào)告冊(理工類)課程名稱:C語言程序設(shè)計(jì)實(shí)驗(yàn)專業(yè)班級:NIIT學(xué)生學(xué)號:31學(xué)生姓名:徐正所屬院部:軟件工程學(xué)院指導(dǎo)教師:吳剛2016——2017學(xué)年第1學(xué)期金陵科技學(xué)院教務(wù)處制實(shí)驗(yàn)報(bào)告書寫要求實(shí)驗(yàn)報(bào)告上交電子稿,標(biāo)題采用四號黑體,正文采用小四號宋體,單倍行距。實(shí)驗(yàn)報(bào)告書寫說明實(shí)驗(yàn)報(bào)告中實(shí)驗(yàn)?zāi)康暮鸵?、?shí)驗(yàn)儀器和設(shè)備、實(shí)驗(yàn)內(nèi)容與過程、實(shí)驗(yàn)結(jié)果與分析這四項(xiàng)內(nèi)容為必需項(xiàng)。教師可根據(jù)學(xué)科特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。填寫注意事項(xiàng)(1)細(xì)致觀察,及時(shí)、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說明,層次清晰。(3)盡量采用專用術(shù)語來說明事物。(4)外文、符號、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報(bào)告的書寫,嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。實(shí)驗(yàn)報(bào)告批改說明實(shí)驗(yàn)報(bào)告的批改要及時(shí)、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn)報(bào)告的批改成績采用五級記分制或百分制,按《金陵科技學(xué)院課堂教學(xué)實(shí)施細(xì)則》中作業(yè)批閱成績評定要求執(zhí)行。金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)項(xiàng)目名稱:初級程序設(shè)計(jì)實(shí)驗(yàn)學(xué)時(shí):6同組學(xué)生姓名:.一………一…—實(shí)驗(yàn)地點(diǎn):工科樓A101實(shí)驗(yàn)日期:實(shí)驗(yàn)成績:批改教師:吳剛批改時(shí)間:實(shí)驗(yàn)1初級程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵笫煜isualC++集成環(huán)境,進(jìn)行編輯、保存、編譯、連接及運(yùn)行,并能進(jìn)行簡單程序調(diào)試;掌握C語言中各種運(yùn)算符的使用;掌握C語言中各種數(shù)據(jù)類型的區(qū)別與應(yīng)用;熟練掌握C語言中變量的定義、賦值和使用,表達(dá)式語句、輸入/輸出語句的使用;掌握C語言中輸入/輸出函數(shù)的使用;掌握C語言中控制語句的使用,含if-else、for、while>do-while語句的使用。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windowsXP以上版本操作系統(tǒng)和VisualC++軟件。三、實(shí)驗(yàn)內(nèi)容與過程1、程序調(diào)試#include<>main(){ints,t,p,sum;scanf(“%d%d%d”,&s,&t,&p);sum=s+t+p;printf(“sum=%d\n”,sum);}#include<>main(){intk=3;if(k=3)printf(“***”);elseprintf(“###”);}#include<>main(){intk=0;do{printf(“k=%d\n”,k);}while(k++>0);}2、程序改錯(cuò)下面是判斷一個(gè)學(xué)生考試成績及格與否的程序(成績A,或B,或C者為及格;成績?yōu)镈者不及格),調(diào)試并改進(jìn)如下程序使其能滿足上述輸出的需要。#include<>main(){charmark=“A”;switch(mark){case“A”:case“B”:case“C”:printf(“>=60\n”);case“D”:printf(“<60\n”);default:printf(“Error\n”);}}3、程序設(shè)計(jì)功能:編程實(shí)現(xiàn)使實(shí)型正數(shù)保留2位小數(shù),并對第三位進(jìn)行四舍五入。例如:實(shí)型數(shù)為,則函數(shù)返回;實(shí)型數(shù)為,則函數(shù)返回。功能:從鍵盤輸入一個(gè)大寫字母,要求改用小寫字母輸出。功能:編寫函數(shù)計(jì)算下列分段函數(shù)的值:x2+x+6x<0f(x)=X25x+6OWx<10x2x1其它功能:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回1;否則返回0。X的值由主函數(shù)從鍵盤讀入,要求不大于100。說明:所謂“同構(gòu)數(shù)”是指這樣的數(shù),這個(gè)數(shù)出現(xiàn)在它的平方數(shù)的右邊。例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同構(gòu)數(shù)。功能:功能:計(jì)算正整數(shù)n的所有因子(1和n除外)之和并輸出。n的值由鍵盤輸入。例如:n=120時(shí),輸出239。功能:計(jì)算并輸出下列多項(xiàng)式的值S=1+1/1!+1/2!+1/3!+...+1/n!例如:鍵盤給n輸入15,則輸出為:s二。注意:要求n的值大于1但不大于100。功能:從低位開始取出長整型變量s奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如:當(dāng)s中的數(shù)為:7654321時(shí),t中的數(shù)為:7531。4、思考題功能:判斷一個(gè)三位數(shù)是否〃水仙花數(shù)〃。在main函數(shù)中從鍵盤輸入一個(gè)三位數(shù),并輸出判斷結(jié)果。說明:所謂"水仙花數(shù)"是指一3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個(gè)水仙花數(shù),因?yàn)?53=1+125+27。功能:計(jì)算并輸出3到n之間所有素?cái)?shù)的平方根之和。例如:鍵盤給n輸入100后,輸出為:sum=。功能:輸出Fibonacci數(shù)列中大于s的最小的一個(gè)數(shù)。其中
Fibonacci數(shù)列F(n)的定義為:F(0)=0,F(xiàn)(1)=1F(n)=F(n-1)+F(n-2)例如:鍵盤輸入s=1000時(shí),輸出1597。程序清單及流程圖程序改錯(cuò)1)#inzl-ide<stdio.]i>)1314)1314charii.cik-“玄".switch'.mark.1case"止‘":case“L";case:]t-intf(":匸lUyn");break;caseffLi'':z60;break:default:kJi'ijiLr(Diiui\n,J、一,=年二IH行匚百.汕卜cnrk和I程序設(shè)計(jì)1)#include<>main(){floatn;scanf("%f",&n);printf("%.2f0000\n",n);2)#include<>main(){charn;printf("Inputan大寫字母\n");scanf("%c",&n);n=n+32;printf("%c\n",n);}3)#include<>main(){intx,y;printf("PleseInputanX\n");scanf("%d",&x);if(x<0&&x!=(-3))y=x*x+x+6;if(x>=0&&x<10&&x!=2&&x!=3)y=x*x-5*x+6;elsey=x*x-x+1;printf("%d\n",y);金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告(6)(6)(6)(6)}(4)此題不會(huì)(5)#include<>main(){intx,i,s;s=0;printf("PleseInputanX\n");scanf("%d",&x);for(i=2;i<x;i++){if(x%i==0)s=s+i;}printf("%d\n",s);}#include<>main()金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告intx,i,j,k;floats;s=;printf("PleseInputanX\n");scanf("%d",&x);if(x<=0)printf("Eorr\n");for(i=1;i<=x;i++){k=1;for(j=1;j<=i;j++)k*=j;s=s+k;}printf("s=%f\n",s);}(7)#include<>main(){ints,t=0,i=1,a=1;scanf("%d",&s);while(s!=0){a=s%10;s=s/100;a=a*i;i=i*10;t=t+a;}printf("%d\n",t);}思考題(1)#include<>main(){ints,n,t=0,a=1;scanf("%d",&n);s=n;while(s!=0){a=s%10;s=s/10;a=a*a*a;t=t+a;}if(n==t)printf("n=YES\n");elseprintf("n=NO\n");}(2)#include<>#include<>main(){intn,i,j;floats=;scanf("%d",&n);for(i=3;i<=n;i++){for(j=2;j<i;j++)if(i%j==0)break;if(j>=i-1)s=s+sqrt(i);printf("%f\n",s);}(3)#include<>main(){inti,n,f0=0,f1=1,f2=1;scanf("%d",&n);for(i=1;;i++){f0=f1;f1=f2;f2=f0+f1;if(f2>=n)break;}printf("%d\n",f2);金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告3)3)3)3)四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)程序調(diào)試1結(jié)果如下沁"C:\DOCU1ENTSABDSETTIV&SYADIINISTp23sum=6Pressanykey七ocontinueH程序調(diào)試2結(jié)果如下程序調(diào)試3結(jié)果如下程序設(shè)計(jì)1):2)ca^CiVDOCUlEKTSAffDSEITIHGSXInp譏aji大與字母HaPressanykeytocontinLie金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告2)2)4)此題不會(huì)5)沁^CiXDOCUlEMTSAHDSETTINGS\A1FleseInputanX120G39Press己“日keytocontinueH6)(7)-C:\BOCU1EHTSAMDSETTJUGS(76543217531Ppessan^j]<E_ytocontinue思考題1)小*C:XDOCTJIE]nSANDSETTIHGSXAJ1153^i=VESPressan?^tocon七:Lnu?I"C:\Windows\system32\Dcbug\l.exe'160148.874268(Pressanyku鄉(xiāng)tocontinue(3)'F;\C\l?ebugMzl.exc"1000U.597Pfeesanykeytocontinue五、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))剛開始學(xué)習(xí)C語言的時(shí)候,面對復(fù)雜的數(shù)據(jù)語言,感覺無從下手,感覺讓人很頭大,不過經(jīng)過一開始的艱苦學(xué)習(xí)之后,慢慢的發(fā)現(xiàn)了c語言的快樂,雖然還是有很多地方不懂,但是會(huì)繼續(xù)加油的~實(shí)驗(yàn)項(xiàng)目名稱:中級程序設(shè)計(jì)實(shí)驗(yàn)學(xué)時(shí):8同組學(xué)生姓名:一一一……一…實(shí)驗(yàn)地點(diǎn):工科樓A101實(shí)驗(yàn)日期:實(shí)驗(yàn)成績:批改教師:吳剛批改時(shí)間:實(shí)驗(yàn)2中級程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵笳莆蘸瘮?shù)的定義、調(diào)用及返回、聲明的應(yīng)用;熟練掌握一維數(shù)組的定義、初始化及使用;掌握二維數(shù)組的定義、初始化及應(yīng)用;熟練掌握向函數(shù)傳遞一維數(shù)組的方法和應(yīng)用;掌握向函數(shù)傳遞一維數(shù)組的方法和應(yīng)用。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windowsXP以上版本操作系統(tǒng)和VisualC++軟件。三、實(shí)驗(yàn)內(nèi)容與過程1、程序調(diào)試2、程序改錯(cuò)要求:1、改錯(cuò)時(shí),只允許修改現(xiàn)有語句中的一部分內(nèi)容,不允許添加和刪除語句。#include<>intfunc(inta,intb){return(a+b);}main(){intx=3,y=8,z=4,r;r=func(func(x,y),z);printf(“r=%d\n”,r);}2、提示行下一行為錯(cuò)誤行。功能:判斷m是否為素?cái)?shù),若是返回1,否則返回0。#include<>/**********FOUND**********/voidfun(intn)inti,k=1;if(m<=1)k=0;/**********FOUND**********/for(i=1;i<m;i++)/**********FOUND**********/if(m%i=0)k=0;/**********FOUND**********/returnm;}voidmain(){intm,k=0;for(m=1;m<100;m++)if(fun(m)==1){printf("%4d",m);k++;if(k%5==0)printf("\n");}}功能:在一個(gè)已按升序排列的數(shù)組中插入一個(gè)數(shù),插入后,數(shù)組元素仍按升序排列。#include<>#defineN11main(){inti,number,a[N]={1,2,4,6,8,9,12,15,149,156};printf("pleaseenteranintegertoinsertinthearray:\n");/**********FOUND**********/scanf("%d",&number)printf("Theoriginalarray:\n");for(i=0;i<N-1;i++)printf("%5d",a[i]);printf("\n");/**********FOUND**********/for(i=N-1;i>=0;i--)if(number<=a[i])/**********FOUND**********/a[i]=a[i-1];else{a[i+1]=number;/**********FOUND**********/exit;}if(number<a[0])a[0]=number;printf("Theresultarray:\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");}找出一個(gè)二行三列二維數(shù)組中的最大值,輸出該最大值及其行列下標(biāo),建議二維數(shù)組值由初始化給出。#include""#include""main(){inti,j,max,s,t;/**********FOUND**********/inta[2][]={1,34,23,56,345,7};clrscr();/**********FOUND**********/max=0;s=t=0;for(i=0;i<2;i++)/**********FOUND**********/for(j=1;j<3;j++)if(a[i][j]>max){max=a[i][j];s=i;t=j;}/**********FOUND**********/printf("max=a[%d][%d]=%d\n",i,j,max);}3、程序設(shè)計(jì)說明,所有題目均需添加main(),在main()中調(diào)用子函數(shù)并設(shè)計(jì)完整的輸入輸出才可調(diào)試通過。功能:編寫函數(shù)floatfun(intn),求一分?jǐn)?shù)序列2/1,3/2,5/3,8/5,13/8,21/13…的前n項(xiàng)之和。說明:每一分?jǐn)?shù)的分母是前兩項(xiàng)的分母之和,每一分?jǐn)?shù)的分子是前兩項(xiàng)的分子之和。例如:求前20項(xiàng)之和的值為。完成子函數(shù)intfun(intn),找出一個(gè)大于給定整數(shù)且緊隨這個(gè)整數(shù)的素?cái)?shù),并作為函數(shù)值返回。說明,以下四個(gè)關(guān)于數(shù)組的題目,可以先用一個(gè)main()函數(shù)實(shí)現(xiàn),然后相關(guān)內(nèi)容學(xué)習(xí)后再利用數(shù)組作函數(shù)參數(shù)的子函數(shù)和main()函數(shù)共同實(shí)現(xiàn)。功能:編寫函數(shù)voidfun(intn,inta[]),按順序?qū)⒁粋€(gè)4位的正整數(shù)每一位上的數(shù)字存到一維數(shù)組,然后在主函數(shù)輸出。例如輸入5678,則輸出結(jié)果為5678。功能:編寫函數(shù)voidfun(intarr[],intn)將一個(gè)數(shù)組中的值按逆序存放,并在main()函數(shù)中輸出。例如:原來存順序?yàn)?8,2,50,43,69。要求改為:69,43,50,2,18。功能:程序定義了NXN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請編寫函數(shù)voidfun(inta[][N],intn),使數(shù)組a左下三角元素中的值乘以n。例如:若n的值為3,a數(shù)組中的值為|197||297|a=|238|則返回主程序后a數(shù)組中的值應(yīng)為|468||456||81012|(6)功能:編寫函數(shù)voidfun(intarray[3][3]),實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)。例如:輸入下面的矩陣:100200300400500600700800900程序輸出:100400700200500800300600900五、實(shí)驗(yàn)注意事項(xiàng)(1)調(diào)用系統(tǒng)庫函數(shù)要包含相應(yīng)頭文件;(2)函數(shù)可以嵌套調(diào)用,但不可以嵌套定義;(3)注意數(shù)組的越界問題;(4)找最大值(最小值)的算法:先將第一個(gè)值認(rèn)為是最大(?。┑?檢索以后的值,判斷如果當(dāng)前數(shù)組元素值比保留在變量中的最大(?。┲荡螅ㄐ。?則用當(dāng)前數(shù)組元素值替換該變量中的值。六、討論、思考題1、功能:編寫函數(shù)floatfun(),利用以簡單迭代方法Xn+1二cos(Xn)求方程:cos(x)-x=0的一個(gè)實(shí)根。迭代步驟如下:取X1初值為;x0=x1,把x1的值賦給X0;x1二cos(xO),求出一個(gè)新的x1;若xO-x1的絕對值小于,執(zhí)行步驟(5),否則執(zhí)行步驟(2);所求x1就是方程cos(x)-x=0的一個(gè)實(shí)根,作為函數(shù)值返回。輸出:程序?qū)⑤敵鼋Y(jié)果Root二。2、功能:編寫floatfun(floatarray[],intn),統(tǒng)計(jì)出若干個(gè)學(xué)生的平均成績,最高分以及得最高分的人數(shù)。例如:輸入10名學(xué)生的成績分別為92,87,68,56,92,84,67,75,92,66,則輸出平均成績?yōu)?,最高分?2,得最高分的人數(shù)為3人。3、編寫函數(shù)intfun(intlim,intaa[MAX]),該函數(shù)的功能是求出小于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回求出素?cái)?shù)的個(gè)數(shù)。4、功能:編寫函數(shù)intfun(inta[M][M]),求5行5列矩陣的主、副對角線上元素之和。注意,兩條對角線相交的元素只加一次。5、功能:請編一個(gè)函數(shù)voidfun(inttt[M][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。程序清單及流程圖:程序改錯(cuò)(1)金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告3)3)3)3)tj'1'1-1^include<^tdio.h>/*****---?FQUHD******—intfun(int*n)n改為minti_k=1;it(n^=i)K=o;悝《■星親日■葺騫?■鼻蓋FOIJHD#*<*****?*/fOK(f"S;;1+*J改為壬■■"■■■"■FOUND"?■■???■*iffc-D;加上一個(gè)return血;mainOintn.k=B;fflr;n<1&9;n*?■Jif(Fun(nt)'-I]printF(,,tJi(lb\n);k+*;i.FCrt5—OJprintFCAn-);2)tiiwlude<5tdiOih>flinclud?<5tdlibxti>■defineH11nzin()CIntL,nunber,J[Np<1>2,4,6PB,91.1ZJ5>U9,154)-;printf("pleaseenteranintegertoinsertinthearray:\nb')帯FDU/scanFfF^d-jfc^rtjer);(血上)printF(lbTheoriginalarray:\n");F0r[i?B:l<lb1:i++)prLnHfW"軋丄]):print#("Xn-*);/■■■?■■肪?■■/DUND???■"■?/tor(i=N-2sl>-u;i—)(i=改為ri-2)if(nLimbeK<=a[i])/“*F(1IIHD=a[i>1]-a[l]E改為3[i+1]-a[iJ)a[i+1J=nunber;break;(continue改為bredkjir(nuimbprl<a[町)□[0]-nunber;prilltf('Theresultarrayfor[i=8;1<H;i?PprlntfCWBa[l]);金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告}}}}I'cb-alunicrmbeTS擬爭幽Hinclude"stdio-ri"Himclude1hconio」h"iuin(>intirjrsBt;f*■■?>■存魯卷?i?F0IJND*#/liltd[2][3]=<1,3^,23,56,3^,99Sb;([]破成吹〉"CL^£C^(>;W?譏*屮uyMo?*?.?**anj?--ai0][u];{n3K-flS!JiSnaM-a[fi]l&J)s-t~0~f?■DIJHD**■**-**■?■*for(j=isjojp+jlF(a(i]Ul>MK)〈mK^[i]Lj];s-i;t=j;f耒岌現(xiàn)帯誤printfCH,nifiK-a[4d][tdJ-'SdX.n",i.],ium);>未發(fā)現(xiàn)錯(cuò)誤程序設(shè)計(jì)1)#include""floatfun(intn){Inti;floatsum=,f1=,f2=,f3;for(i=2;i<=n;i++){f3=f1+f2;f2=f1;f1=f3;sum+=f1/f2;returnsum;金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告}}}}}main(){inta;printf("pressinputanN(N>1):");scanf("%d",&a);printf("sum=%f\n",fun(a));}(2)#include""floatfun(intn){inti,j;for(i=n+1;;i++){for(j=2;j<i;j++)if(i%j==0)break;if(j>=i){printf("%d\n",i);break;}}main(){inta;printf("pressinputanN:");scanf("%d",&a);fun(a);}(3)#include""voidfun(intn,inta[]){Inti,b[4]={0};for(i=0;i<n;i++){b[i]=a[i];printf("a[%d]=%d\n",i,b[i]);}}main()intn,a[4]={0},i;printf("pressinputanN:");scanf("%d",&n);for(i=3;i>=0;i--){a[i]=n%10;n=n/10;}fun(4,a);}(4)#include""#defineN5voidfun(intarr[],intn){inti,j;for(i=0;i<=N/2;i++){j=arr[i];arr[i]=arr[N-i-1];arr[N-i-1]=j;}voidmain(){inti,a[]={8,6,5,4,1};fun(a,N);for(i=0;i<N;i++){printf("%2d",a[i]);}printf("\n");}(5)#include""#defineN3voidfun(inta[][N],intn){inti,j;for(i=0;i<N;i++){for(j=0;j<N;j++){if(j==i||i-j==1||i-j==2)金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告(6)(6)(6)(6)a[i][j]*=3;}}}voidmain(){inti,j,a[][3]={1,9,7,2,3,8,4,5,6};fun(a,N);for(i=0;i<N;i++){for(j=0;j<N;j++){printf("%4d",a[i][j]);if(j==N-1)printf("\n");}}}#include金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告#defineN3voidfun(inta[][N],intn){inti,j,k;for(i=0;i<N;i++){for(j=0;j<N/2;j++){k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;}if(i+j==N){k=a[i][j];a[i][j]=a[j][i];a[j][i]=k;}}}voidmain(){inti,j,a[][3]={100,200,300,400,500,600,700,800,900};fun(a,N);for(i=0;i<N;i++){for(j=0;j<N;j++){printf("%6d",a[i][j]);if(j==N-1)printf("\n");}}}思考題(1)#include<>#include<>floatfun(){floatx1=,x0;inti;for(i=0;;i++)金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告{{{{{x0=x1;x1=cos(x0);if(fabs(x0-x1)<break;}returnx1;}voidmain(){printf("Root=%f\n",fun());}2)#include<>#defineN10floatfun(floatarray[],intn){floatavg,sum=,k;inti,j=0,max=0;for(i=0;i<n;i++)sum+=array[i];金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告}}}}{{if(array[i]>max)max=array[i];}for(i=0;i<n;i++){if(max==array[i])j++;}avg=sum/;printf("平均成績=%.lf\n最高分=%d\n得最高分的人數(shù)=%d\n",avg,max,j);}voidmain(){floata[N]={92,87,68,56,92,84,67,75,92,66};fun(a,l0);}(3)#include<>#defineMAXl000intfun(intlim,intaa[MAX])Inti,j,m=1;for(i=3;i<lim;i++){for(j=2;j<i;j++){if(i%j==0)break;if(j>=i-1){m++;aa[m-1]=i;}}}returnm;}voidmain(){intn,a[MAX]={0};scanf("%d",&n);printf("%d\n",fun(n,a));金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告{{{{(4)#include<>#defineM5intfun(inta[][M]){inti,j,sum1=0,sum2=0;for(i=0;i<M;i++){for(j=0;j<M;j++){if(i==j)sum1+=a[i][j];if(i+j==M-1)sum2+=a[i][j];}}printf(“主對角線=%d\n副對角線=%d\n",suml,sum2-a[M-3][M-3]);printf(“主對角線+付對角線=%d\n",suml+sum2-a[M-3][M-3]);}voidmain()inta[M][M]={l,2,3,4,l,金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告2)2)2)2)}}6,1,8,1,1,2,3,1,5,6,7,1,9,1,2,1,4,5,6,1};fun(a);}(5)#include<>#defineM4#defineN5intfun(inttt[M][N],intpp[N]){inti,j,min=0;for(i=0;i<N;i++){for(j=0;j<M;j++){min=tt[0][i];if(tt[j][i]<min)min=tt[j][i];pp[i]=min;printf("pp[%d]=%d\n",i,pp[i]);}}voidmain(){inta[M][N]={1,5,3,4,5,6,7,8,9,1,2,2,1,5,6,7,2,9,5,2},b[N]={0};fun(a,b);}四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)程序改錯(cuò)(1)叫||"F:\Dffbug\cmm.exe'23571113171923293137414347535?616771737?S38997Pressanyke^tocontinue^金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告4):4):■F:\Deb□g\cmm2.exa'pleaseenteranintegertoinsertInthearray:TheDriQfinalarray:1246891215149156Thepesultapray二12346S91215149156Pp&ss:an9kesjtocontinue^3)程序設(shè)計(jì)1):■'F:\Debug\2.exeppBssinputanN<N>1>:20suni=32.660259程序設(shè)計(jì)1):■'F:\Debug\2.exeppBssinputanN<N>1>:20suni=32.660259Pi*&ss&nykeytocontinue2):HF:\Debug\2.e^e"pressinputanN:3Pressanykeytocontinue3):F:\Debug\2,e?<e"F:\Debug\2,e?<e"pressinputanN:pressinputanN:5&?3a[0]=5*L1]=6|a[2J=7a[31=8PressanykeiftocantinueF:\Debug\Lexe"145GSPresssin野Itei/tocontinu.e5):3976g86g12Pressanykeytocontinue6):1'F^Debug^l.exe"10040070020050080S30060S90SPressainykeytocontinue思考題1)'F:\Debug\l-exe'Root=0_?39085Ppeesan^keytocontinue2)?'D:\Debug\l.exe'番坦馬績£7J咼分的人數(shù)=?Pressanykey七ocon七inue思考題3:思考題4:■J'D:\Debug\l副不角線M主才角勢付對角線與_Pressani/kEytocontinue思考5:?■'F:\Debug\l-exe"pp[01=ltp[il=2pp[2J=3pp[3]=4pp[41=2Pressanykeytocontinue五、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))還是經(jīng)歷了一段艱難的學(xué)習(xí)時(shí)間,對C語言還是有很多困惑,學(xué)習(xí)過程中還是有很多不懂的地方,不過學(xué)習(xí)就是不斷克服困難的過程吧。實(shí)驗(yàn)項(xiàng)目名稱:高級程序設(shè)計(jì)實(shí)驗(yàn)學(xué)時(shí):6同組學(xué)生姓名:,一…一_實(shí)驗(yàn)地點(diǎn):工科樓A101實(shí)驗(yàn)日期:實(shí)驗(yàn)成績:批改教師:吳剛批改時(shí)間:實(shí)驗(yàn)3高級程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵罄斫釩語言中指針的本質(zhì),區(qū)分指針與指針變量,掌握有關(guān)指針的應(yīng)用;熟練掌握字符串常量和字符串的存儲(chǔ)及字符串處理函數(shù)的使用;掌握字符指針的定義、使用等;掌握向函數(shù)傳遞字符串的方法;二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windowsXP以上版本操作系統(tǒng)和VisualC++軟件。三、實(shí)驗(yàn)內(nèi)容與過程1、程序調(diào)試main(){inta=10,b=20,x,*pa,*pb;pa=&a;pb=&b;printf(“%d,%d,%d,%d”,a,b,*pa,*pb);x=*pa;*pa=*pb;*pb=x;printf(“%d,%d,%d,%d”,a,b,*pa,*pb);}main(){inta=10,b=20,*p,*pa=&a,*pb=&b;printf(“%d,%d,%d,%d”,a,b,*pa,*pb);p=pa;pa=pb;pb=p;printf(“%d,%d,%d,%d”,a,b,*pa,*pb);}int*swap(int*a,int*b){int*p;p=a;a=b;b=p;return(a);}main(){intx=3,y=4,z=5;swap(swap(&x,&y),&z);printf(“%d,%d,%d”,x,y,z);}思考:上面程序中函數(shù)swap()預(yù)將兩個(gè)數(shù)的值相互交換,但結(jié)果為什么沒有交換2、程序改錯(cuò)要求:1、改錯(cuò)時(shí),只允許修改現(xiàn)有語句中的一部分內(nèi)容,不允許添加和刪除語句。2、提示行下一行為錯(cuò)誤行。功能:為一維數(shù)組輸入10個(gè)整數(shù);將其中最小的數(shù)與第一個(gè)數(shù)對換,將最大的數(shù)與最后一個(gè)數(shù)對換,輸出數(shù)組元素。#include<>voidinput(int*arr,intn){int*p,i;p=arr;printf("pleaseenter10integers:\n");for(i=0;i<n;i++)/**********ERROR**********/scanf("%d",p);}voidmax_min(int*arr,intn){int*min,*max,*p,t;min=max=arr;for(p=arr+1;p<arr+n;p++)/**********ERROR**********/if(*p<*max)max=p;elseif(*p<*min)min=p;t=*arr;*arr=*min;*min=t;/**********ERROR**********/if(max=arr)max=min;t=*(arr+n-1);*(arr+n-1)=*max;*max=t;}voidoutput(int*arr,intn){int*p,i;p=arr;printf("Thechangedarrayis:\n");/**********ERROR**********/while(i=0;i<n;i++)printf("%3d",*p++);printf("\n");main(){inta[10];input(a,10);max_min(a,10);output(a,10);}功能:將s所指字符串的反序和正序進(jìn)行連接形成一個(gè)新串放在t所指的數(shù)組中。例如:當(dāng)s所指的字符串的內(nèi)容為"ABCD〃時(shí),t所指數(shù)組中的內(nèi)容為DCBAABCD〃。#include<>#include<>#include<>/**********FOUND**********/voidfun{inti,d;(chars,chart)/**********FOUND**********/d=len(s);/**********FOUND**********/for(i=1;i<d;i++)t[i]=s[d-1-i];for(i=0;i<d;i++)t[d+i]=s[i];/**********FOUND**********/t[2*d]='/0';}main(){chars[100],t[100];printf("\nPleaseenterstringS:");scanf("%s",s);fun(s,t);printf("\nTheresultis:%s\n",t);}3、程序設(shè)計(jì)說明,所有題目均需添加main(),在main()中調(diào)用子函數(shù)并設(shè)計(jì)完整的輸入輸出才可調(diào)試通過。編寫一main()函數(shù),要求利用指針,實(shí)現(xiàn)從鍵盤輸入三個(gè)數(shù),然后按照由小到大的順序輸出此三個(gè)數(shù)。功能:編寫函數(shù)floatfun(float*a,intn),用來計(jì)算n門課程的平均分,結(jié)果作為函數(shù)值返回。其中數(shù)組a中保存了n門課程的分?jǐn)?shù)。例如:若有5門課程的成績是:,72,80,,55,則函數(shù)的值為:。功能:請編寫一個(gè)函數(shù)voidfun(int*s,intn,int*k),用來求出數(shù)組s中的最大元素在數(shù)組中的下標(biāo),用k帶回。其中n為主函數(shù)數(shù)組中的數(shù)據(jù)個(gè)數(shù)。例如:在主函數(shù)中輸入如下整數(shù):876675896101301401980431451777則在主函數(shù)中輸出結(jié)果為:6,980功能:編寫函數(shù)voidlen_cat(charcl[],charc2[])將第二個(gè)串連接到第一個(gè)串之后,不允許使用strcat函數(shù)。功能:編寫函數(shù)voidfun(char*str,charch)從字符串str中刪除指定的字符ch。要求:本問題要求用兩種算法分別實(shí)現(xiàn),一是直接刪除算法即查找符合刪除條件的并逐次前移實(shí)現(xiàn);二是間接刪除算法即查找不符合刪除條件的并保留下來,而保留的方法可以采用利用本數(shù)組和引入臨時(shí)數(shù)組兩種實(shí)現(xiàn)。說明:該字符可能多次和連續(xù)出現(xiàn),算法應(yīng)全面考慮。功能:編寫函數(shù)longfun(char*p),將一個(gè)數(shù)字字符串轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。六、討論、思考題功能:請編寫函數(shù)voidfun(char(*s)[N],char*b),將M行N列的二維數(shù)組中的字符數(shù)據(jù)按列的順序依次放到一個(gè)字符串中。例如:二維數(shù)組中的數(shù)據(jù)為:WWWWSSSSHHHH則字符串中的內(nèi)容應(yīng)是:WSHWSHWSHWSH。功能:編寫函數(shù)voidfun(charstr[],inti,intn),從字符串str中刪除第i個(gè)字符開始的連續(xù)n個(gè)字符(注意:str[0]代表字符串的第一個(gè)字符)。功能:編寫函數(shù)voidfun(char*s,chart[]),將s所指字符串中除了下標(biāo)為奇數(shù)、同時(shí)ASCII值也為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如:若s所指字符串中的內(nèi)容為:"ABCDEFG12345",其中字符A的ASCII碼值雖為奇數(shù),但所在元素的下標(biāo)為偶數(shù),因此必需刪除;而字符1的ASCII碼值為奇數(shù),所在數(shù)組中的下標(biāo)也為奇數(shù),因此不應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:〃135〃。⑷功能:請編寫函數(shù)intfun(char*s),統(tǒng)i^一行字符串中單詞的個(gè)數(shù)作為函數(shù)值返回。規(guī)定所有單詞由小寫字母組成,單詞之間由若干個(gè)空格隔開,一行的開始沒有空格。(5)功能:編寫函數(shù)voidfun(chars[])將一個(gè)由四個(gè)數(shù)字組成的字符串轉(zhuǎn)換為每兩個(gè)數(shù)字間有一個(gè)空格的形式輸出。例如:輸入“4567”,應(yīng)輸出“4口5口6口7”(□表示空格)。程序清單及流程圖:程序改錯(cuò)(1)#include<>voidinput(int*arr,intn){int*p,i;p=arr;printf(〃pleaseenter10integers:\n〃);for(i=0;i<n;i++)/**********ERROR**********/scanf("%d",p++);P改為P++}voidmax_min(int*arr,intn){int*min,*max,*p,t;min=max=arr;for(p=arr+1;p<arr+n;p++)/**********ERROR**********/if(*p>*max)<改為>max=p;elseif(*p<*min)min=p;t=*arr;*arr=*min;*min=t;/**********ERROR**********/if(max==arr)max=min;此處不該用賦值=改為==t=*(arr+n-1);*(arr+n-1)=*max;*max=t;}voidoutput(int*arr,intn){int*p,i;p=arr;printf("Thechangedarrayis:\n");/**********ERROR**********/for(i=0;i<n;i++)while使用錯(cuò)誤printf("%3d",*p++);printf("\n");}main(){inta[10];input(a,10);max_min(a,10);output(a,10);}(2)#include<>#include<>#include<>/**********FOUND**********/加上[]voidfun(chars[],chart[])加上[]{inti,d;/**********FOUND**********/d=strlen(s);len使用錯(cuò)誤/**********FOUND**********/for(i=0;i<d;i++)賦值錯(cuò)誤,應(yīng)為0t[i]=s[d-1-i];for(i=0;i<d;i++)t[d+i]=s[i];/**********FOUND**********/t[2*d]='\0';}main(){chars[100],t[100];printf("\nPleaseenterstringS:");scanf("%s",s);fun(s,t);printf("\nTheresultis:%s\n",t);}程序設(shè)計(jì)(1)#include<>voidmain()inta,b,c,x;int*pa,*pb,*pc;pa=&a;pb=&b;pc=&c;printf("請輸入3個(gè)整數(shù)\n");scanf("%d%d%d",pa,pb,pc);if(*pa>*pb){x=*pa;*pa=*pb;*pb=x;}if(*pa>*pc){x=*pa;*pa=*pc;*pc=x;}if(*pb>*pc){x=*pb;金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告}}}}*pb=*pc;*pc=x;}printf(“這3個(gè)數(shù)由小到大的排列順序?yàn)椋,%d,%d",*pa,*pb,*pc);}(2)#include<>#defineN10floatfun(float*a,intn);intmain(){inti,n;floatave,*p,a[N];p=&a[0];printf("請輸入課程數(shù)目:");scanf("%d",&n);getchar();for(i=0;i<n;i++){printf("Pleaseinputthescore:");scanf("%f",&a[i]);金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告}}ave=fun(p,n);printf("Theaverage=%f\n",ave);}floatfun(float*a,intn){inti;floats=,t;for(i=0;i<n;i++)s=s+*(a+i);s=(s*10)/;t=s/n;return(t);}(3)#include<>intfun(int*s,intt,int*k){inti;intmax=s[0];for(i=1;i<t;i++)if(s[i]>max){max=s[i];*k=i;}}returnmax;}intmain(){inti,m;intmax;inta[10]={876,675,896,101,301,401,980,431,451,777};for(i=0;i<10;i++){printf("%d",a[i]);}printf("\n");max=fun(a,10,&m);printf("%d,%d",m,max);getchar();return0;4))#include<>#include<>voidlencat(charc1[],charc2[]){inti,d,k;d=strlen(c2);k=strlen(c1);for(i=0;i<d;i++)c1[k+i]=c2[i];c1[2*d]='\0';}main(){chars[100],t[100];金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告金陵科技學(xué)院實(shí)驗(yàn)報(bào)告gets(t);gets(s);lencat(s,t);printf("\n結(jié)果是:%s\n",t);}(5)#defineN100#include<>voidfun(chars[],charc){inti;for(i=0;s[i]!='\0';i++)if(s[i]!=c)printf("%c",s[i]);printf("\n");}main(){chars[N];printf("\n請輸入:");gets(s);fun(s,'c');}(6)#include<>longfun(char*p){longn=0;intflag=0;while(*p!='\0'){if(*p=='-')flag=1;elseif(*p=='+')flag=0;elsen=n*10+(*p-'0');p++;}if(flag==1)n=-n;returnn;}main()chara[5];longn;scanf("%s",a[5]);fun(a);printf("%d",n);}思考題(1)#defineN4#defineM3#include<>voidfun(char(*s)[N],char*b){inti,j;for(i=0;i<N;i++){b=s[i]-i*N;for(j=0;j<M;j++)printf("%c",*(b+j*N));}printf("\n");(2)#defineM300#include<>voidfun(intstr[],inti,intn){inta,j;for(a=0;a<12;a++)if(a<i-1)printf("%3d",str[a]);for(j=i+n-1;j<12;j++)printf("%3d",str[j]);printf("\n");}main(){ints[M]={1,2,3,4,5,6,7,8,9,10,11,12};inti,n;printf("Inputi:\n");scanf("%d",&i);printf("Inputn:\n");scanf("%d",&n);fun(s,i,n);}main(){chars[M][N]={'W','W','W','W','S','S','S','S','H','H','H','H'},*b;fun(s,b);}(3)#defineM300#include<>voidfun(char*s,chart[]){inti=0,j=0;char*p;p=s;while(*p!='\0'){if(i%2==1&&*p%2==1){t[j]=*p;j++;}i++;p++;}puts(t);}main(){chars[M]={1},t[M]={1};inti,n;gets(s);fun(s,t);}(4)#defineM300#include<>intfun(char*s){intj=1;char*p;p=s;while(*p!='\0'){if(*p==''&&*(p+1)!='')j++;p++;}printf("%d\n",j);}main(){chars[M]={1};inti,n;gets(s);fun(s);}(5)#include<>#include<>#include<>voidfun(chars[]){inti,len;len=strlen(s);for(i=len-1;i>0;i--){s[2*i]=s[i];s[2*i-1]='\0';}len=strlen(s);s[len]='\0';}main(){chara[8],*s;scanf("%s",a[8]);fun(a);printf("%s",s);}四、實(shí)驗(yàn)結(jié)果與分析(程序運(yùn)行結(jié)果及其分析)程序調(diào)試1main(){inta=1B,b=28,sc,*pa,*pb;pa=&a;pb=&b;printFC'^dj^d,^d",a,b,*pa,*pb);x=*pa;*pa=*pb;*pb=x;prints,^d",b,*pa,*pb);I'F:\Debug\l.exe"10^20,10,2828^10,20,lBFressanykeytocontinue程序調(diào)試2main(){inta=1Q,b=20,*p,*pa=fta,*pb=&b;p廣intF「喘d鳶d,id,^d",b,*pa,*pb);p=pa;pa=pb;pb=p;printF("^ds%d,甬d,^d",b,*pa,*pb);I'F:\DebugVl.ese"10,20,10,2010,20,ZO^lQPpessany1{日野tocontinue程序調(diào)試3:int*swjp(int*a,int*b)<int*p;p=a;xb;b=p;return(a);main()<intx=3,y=4,z=5;suap(su-ap(&x,說y),隹z);printf("^d,^d,^.d",x,y,z);I,RF:\Debiug\l.exe"a,4,5PpesEanytocontinlie思考:上面程序中函數(shù)swap()預(yù)將兩個(gè)數(shù)的值相互交換,但結(jié)果為什么沒有交換答:程序只是調(diào)換了指向?qū)?yīng)值的指針,并沒有對值進(jìn)行調(diào)換。改錯(cuò)1:I'F:\Debug\l.eMe"pleaseenter10integers:15?1*215Thechangedarra^jis:132551682157PressanyIt巳屮t;ocontinu.eH2):編程1:請輸入3個(gè)整數(shù)234這2個(gè)數(shù)由小到大的排列順序?yàn)?,3,4Pressanykeytocontinue編程2:E青輸入課程數(shù)目:3jPleaseinputthescore:606162pleaseinputthescore:Pleaseinputthescore:Theaverage=61.000000IPressanykeytocontinu日編程(3):8766758961013014019SQ431451777&980編程(4):編程(5):1青輸入strPressanykeytocontinue編程(6):-1234Pressanykeytcicontinue思考題1):'U:\UeUSHU8HUSHUSHPressanpkey七。continlie(2):I'D:\Oebdg\l.exe"Inputi:3Inputn:21256789101112PiriEssdnykeiFt:ocuntLnue3):I'D:\Debiig\L.exe'RBCDEFGlLfJ4bb135PresskeyLuuuuLiiiuie(4):?‘D:\Debuyi啟畑qweqweqweqwe4Pressany1[巳ytocontinue五、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,編程后的心得體會(huì))編程是一個(gè)需要百分百精確度的東西,還要有良好的編程習(xí)慣,讓自己編的程序更簡單明了。也是一件很有意思的事情,對這門課程,我喜歡自己獨(dú)立去實(shí)踐和鉆研這是一個(gè)極其享受的過程。實(shí)驗(yàn)項(xiàng)目名稱:構(gòu)造類型程序設(shè)計(jì)實(shí)驗(yàn)學(xué)時(shí):4同組學(xué)生姓名:,一一―一實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)日期:驗(yàn)成績:批改教師:批改時(shí)間:實(shí)驗(yàn)4構(gòu)造類型程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康暮鸵螅?)熟悉結(jié)構(gòu)體和共同體的概念;(2))熟悉并掌握結(jié)構(gòu)體變量、數(shù)組和共同體變量的定義、賦值與使用;(3)掌握結(jié)構(gòu)體指針的定義與引用;(4)掌握鏈表的概念,初步學(xué)會(huì)對鏈表進(jìn)行操作;(5)熟悉文件打開、關(guān)閉、寫入、讀出的方法;學(xué)會(huì)使用文件操作函數(shù)。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),裝有windowsXP以上版本操作系統(tǒng)和VisualC++軟件。三、實(shí)驗(yàn)內(nèi)容與過程1、程序調(diào)試(1)structaa{intx,*y;}*p;inta[8]={10,20,30,40,50,60,70,80};structaab[4]={100,&a[1],200,&a[3],10,&a[5],20,&a[7]};main(){p=b;printf(〃%d〃,*++p-〉y);printf(〃%d\n〃,++(p-〉x));}(2)strucSTU{charname[10];intnum;};voidf1(structSTUc){structSTUb={“LiSiGuo”,2042};c=b;}voidf2(structSTU*c){structSTUb={“SunDan”,2044};*c=b;}main(){structSTUa={“YangSan”,2041},b={“WangYin”,2043};f1(a);f2(&b);printf(“%d%d\n”,,;}2、程序設(shè)計(jì)學(xué)生記錄由學(xué)號和成績組成,結(jié)構(gòu)體類型定義如下:typedefstruct{charnum[10];doubles;}STREC;功能:a所指向的數(shù)組中有N名學(xué)生的數(shù)據(jù),請編寫函數(shù)intfun(STRECa[],STRECb[]),把a(bǔ)數(shù)組中分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。分?jǐn)?shù)最高的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最高的學(xué)生人數(shù)。要求在main函數(shù)完成數(shù)據(jù)輸入,及輸出最高分和所有分?jǐn)?shù)最高的學(xué)生相關(guān)信息。求某一位學(xué)生的成績平均分。某學(xué)生的記錄由學(xué)號、8門課程成績和平均分組成,學(xué)號和8門課程的成績已在主函數(shù)中給出,請編寫函數(shù)fun,其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。例如,學(xué)生的成績是:,76,,85,91,72,,,則他的平均分應(yīng)為。#include<>#defineN8typedefstruct{charnum[10];doubles[N];doubleave;}STREC;voidfun(STREC*a){}main(){STRECs={"GA005",,76,,85,91,72,,};inti;fun(&s);printf("The%s'sstudentdata:\n",;for(i=0;i<N;i++)printf("%\n",[i]);printf("\nave=%\n",;}從鍵盤輸入一系列字符(以$作為輸入結(jié)束標(biāo)志),將其存入文件中,再從該文件中查找某個(gè)字符(該字符可以輸入),如果查找成功將返回成功標(biāo)志,否則返回不成功標(biāo)志。五、實(shí)驗(yàn)注意事項(xiàng)1、結(jié)構(gòu)體變量占用的存儲(chǔ)空間是各成員占用空間之和;2、對鏈表的檢索應(yīng)從鏈表開始結(jié)點(diǎn)開始,順著鏈一直找下去,直到找到符合要求的結(jié)點(diǎn)或到達(dá)鏈表結(jié)尾(鏈表指針為NULL)。六、討論、思考題功能:a所指的數(shù)組中有N名學(xué)生的數(shù)據(jù),請編寫函數(shù)doublefun(STREC*a,STREC*b,int*n),把低于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,低于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。要求在main函數(shù)完成數(shù)據(jù)輸入,及輸出平均分和低于平均分的學(xué)生相關(guān)信息。結(jié)構(gòu)體聲明如下:typedefstruct{charnum[10];doubles;}STREC;功能:N名學(xué)生的成績已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請編寫子函數(shù)doublefun(STREC*h),找
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 我的家鄉(xiāng)敘事課程設(shè)計(jì)
- 弦樂小夜曲課程設(shè)計(jì)
- 中西醫(yī)執(zhí)業(yè)醫(yī)師模擬試卷16
- 礦井灌漿設(shè)計(jì)課程設(shè)計(jì)
- 站姿坐姿課程設(shè)計(jì)
- 花藝烘焙課程設(shè)計(jì)
- 藥品驗(yàn)收入門課程設(shè)計(jì)
- 互聯(lián)網(wǎng)行業(yè)安全管理實(shí)踐
- 領(lǐng)導(dǎo)班子與教學(xué)院校協(xié)調(diào)計(jì)劃
- 火災(zāi)中的風(fēng)險(xiǎn)評估和分析培訓(xùn)
- 儲(chǔ)能系統(tǒng)技術(shù)服務(wù)合同
- GB/T 1094.7-2024電力變壓器第7部分:油浸式電力變壓器負(fù)載導(dǎo)則
- 電大西方行政學(xué)說
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級上冊期末復(fù)習(xí)卷(含答案)
- 2024年度中國PE、VC基金行業(yè)CFO白皮書
- 2023年南京市江寧區(qū)招聘教師考試真題
- 《中國民族史》重點(diǎn)筆記(期末)
- 中南大學(xué)《物聯(lián)網(wǎng)原理及應(yīng)用》2022-2023學(xué)年第一學(xué)期期末試卷
- 抓斗課件教學(xué)課件
- 第三方物流供應(yīng)商準(zhǔn)入與考核制度
- 基于Python的去哪兒網(wǎng)酒店數(shù)據(jù)采集與分析
評論
0/150
提交評論