C語言 實(shí)驗(yàn)三 模塊化程序設(shè)計(jì)_第1頁
C語言 實(shí)驗(yàn)三 模塊化程序設(shè)計(jì)_第2頁
C語言 實(shí)驗(yàn)三 模塊化程序設(shè)計(jì)_第3頁
C語言 實(shí)驗(yàn)三 模塊化程序設(shè)計(jì)_第4頁
C語言 實(shí)驗(yàn)三 模塊化程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、最新C語言 實(shí)驗(yàn)三 模塊化程序設(shè)計(jì)實(shí)驗(yàn)三 模塊化程序設(shè)計(jì)3學(xué)時(shí)【實(shí)驗(yàn)?zāi)康摹?. 掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法。2. 掌握字符數(shù)組和字符串函數(shù)的使用。3. 掌握與數(shù)組有關(guān)的算法。4. 掌握函數(shù)定義的方法。5. 掌握函數(shù)實(shí)參與形參的傳遞方式。6. 掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。7. 了解全局變量和局部變量、動(dòng)態(tài)變量、靜態(tài)變量的概念和使用方法?!緦?shí)驗(yàn)內(nèi)容】任務(wù)1 數(shù)組的根本定義與應(yīng)用定義一個(gè)10個(gè)元素的int數(shù)組a,輸入10個(gè)數(shù),并輸出。參考程序:main()int i,a10; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+)

2、 printf(%5d,ai); printf(n);運(yùn)行結(jié)果:尋找整數(shù)數(shù)組num中的最大值及其所在的下標(biāo)。參考程序:main()int i,max,p,a10; printf(please enter 10 data:n); for(i=0;i10;i+) scanf(%d,&ai); max=a0;p=0; for(i=1;imax) max=ai;p=i; printf(max is:%dn,max); printf(point is:%dn,p+1);運(yùn)行結(jié)果:實(shí)現(xiàn)對(duì)n個(gè)數(shù)的數(shù)列從小到大排序。比擬交換法、選擇法、冒泡法參考程序:冒泡法#include main()int i,j,n,a

3、100;int temp;clrscr(); printf(enter the number:n); scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); printf(n output the original arrayn); for(i=0;in;i+) printf(%5d,ai); for(i=0;in-1;i+) for(j=0;jaj+1) temp=aj;aj=aj+1;aj+1=temp; printf(n output the sorted arrayn); for(i=0;in;i+) printf(%5d,ai); printf(n);

4、運(yùn)行結(jié)果:有一個(gè)44的矩陣,編程將行和列的元素互換,輸出互換后的矩陣。參考程序:main()int a44,i,j,t; for(i=0;i4;i+) for(j=0;j4;j+) scanf(%d,&aij); printf(output array a: before change:n);for(i=0;i4;i+) for(j=0;j4;j+) printf(%5d,aij); printf(n); for(i=0;i4;i+) for(j=0;ji;j+) t=aij;aij=aji;aji=t; printf(output array a: after change:n);for(i

5、=0;i4;i+) for(j=0;j=a&ai=A&ai=0&ai=a&si=z) si=si-32; i+; puts(s);運(yùn)行結(jié)果: 任務(wù)3. 函數(shù)的定義和聲明1分析推測(cè)下面程序的輸出,并上機(jī)運(yùn)行驗(yàn)證結(jié)果。運(yùn)行結(jié)果: #include unsigned fun26(unsigned num) unsigned k=1; do k*=num%10;num/=10; while(num); return k;main() unsigned n=26; printf(%dn,fun26(n);2求出以下程序的運(yùn)行結(jié)果,并描述程序所完成的功能。運(yùn)行結(jié)果: 程序功能是: #include mai

6、n() int power(int x,int n); int x=2,n=4; printf(ns=%d,power( x,n);int power(int x,int n) int i,p=1; for(i=1;i=n;i+) p=p*x; return(p);3下面程序中,函數(shù)fun的功能是根據(jù)形參m計(jì)算公式T=1/1!+1/2!+1/3!+1/m!的值,上機(jī)調(diào)試,當(dāng)從鍵盤輸入10時(shí),給出程序運(yùn)行的正確結(jié)果按四舍五入保存10位小數(shù)。輸入10時(shí)的結(jié)果: )#include main() double fun(int m); /先調(diào)用再定義,且不是能缺省的int型,請(qǐng)加上函數(shù)說明。 int

7、m; printf(n input m:); scanf(%d,&m); printf(n t=%12.10lf n,fun(m);double fun(int m) double fac,t=0.0; int i=1,j; for(i=1;i=m;i+) fac=1.0; for(j=1;j=i;j+) fac=fac*j; t+=1.0/fac; return t;任務(wù)4. 數(shù)組與函數(shù)的綜合應(yīng)用在一個(gè)一維數(shù)組a中存放10個(gè)正整數(shù), 求其中所有的素?cái)?shù)。(用數(shù)組元素作為函數(shù)的實(shí)際參數(shù))參考程序:int sushu(int x) int i,k=1; if(x=1) k=0; for(i=2;i

8、=x/2;i+) if(x%i=0) k=0; return(k); main( ) int a10,i; for(i=0;i10;i+) scanf(%d,&ai); printf(sushu of array a are:n); for(i=0;i10;i+) if(sushu(ai) printf(%5d,ai);printf(n); 運(yùn)行結(jié)果:設(shè)有一個(gè)34的矩陣,求出其中的最大元素。(要求:將計(jì)算最大值的功能設(shè)計(jì)成函數(shù),數(shù)組名作為參數(shù))參考程序:max_value(int array12)int i,max; max=array0; for(i=0;imax) max=arrayi;

9、return(max);main()int a34=1,3,5,7,2,4,6,8,15,17,34,12; printf(max=%dn,max_value(a);運(yùn)行結(jié)果:任務(wù)5. 函數(shù)的嵌套調(diào)用1跟蹤調(diào)試下面程序,注意函數(shù)調(diào)用的過程中形參、實(shí)參的關(guān)系。記錄并分析結(jié)果;將形參a,b對(duì)應(yīng)改為x,y,使之與實(shí)參變量同名,記錄并分析結(jié)果。#include main() int t,x=2,y=5; int swap(int,int); printf(1) in main: x=%d,y=%dn,x,y); swap(x,y); printf(4) in main: x=%d,y=%dn,x,y)

10、;swap(int a,int b) int t; printf(2) in swap: a=%d,b=%dn,a,b); t=a; a=b; b=t; printf(3) in swap: a=%d,b=%dn,a,b);運(yùn)行結(jié)果:將形參a,b對(duì)應(yīng)改為x,y 的結(jié)果:結(jié)論:無論實(shí)參、形參是否同名,交換的只是子函數(shù)swap中兩個(gè)變量的值。主函數(shù)中的x,y的值沒有變。參考紅字內(nèi)容,用自己的話寫結(jié)論2假設(shè)輸入2、3,求以下程序的運(yùn)行結(jié)果,分析函數(shù)嵌套調(diào)用的執(zhí)行過程。#include long sum(int a,int b);long factorial(int n);main() int n1,

11、n2; long a; scanf(%d,%d,&n1,&n2); a=sum(n1,n2); printf(a=%ld,a);long sum(int a,int b) long c1,c2; c1=factorial(a); c2=factorial(b); return(c1+c2);long factorial(int n) long rtn=1; int i; for(i=1;i=0) printf(%d!=%ld n,num,fun(num); else printf(input data error! n);運(yùn)行結(jié)果:任務(wù)7. 變量的存儲(chǔ)類型與編譯預(yù)處理從鍵盤上輸入一個(gè)字符串,內(nèi)

12、有假設(shè)干個(gè)字符,再輸入一個(gè)字符,編寫程序?qū)⒆址性撟址麆h去。(用外部函數(shù)實(shí)現(xiàn),分別編譯連接,執(zhí)行main函數(shù)文件) /* 文件名為:zy161.c*/#include void main() extern enter_string(char str),delete_string(char str,char ch),print_string(char str); char c; static char str80; enter_string(str); scanf(%c,&c);delete_string(str,c); print_string(str); /* 文件名為:zy162.c*/#include #include string.henter_string(char str) gets(str);

溫馨提示

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

評(píng)論

0/150

提交評(píng)論