




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、最新C語言 實驗三 模塊化程序設計實驗三 模塊化程序設計3學時【實驗目的】1. 掌握一維數組和二維數組的定義、賦值和輸入輸出的方法。2. 掌握字符數組和字符串函數的使用。3. 掌握與數組有關的算法。4. 掌握函數定義的方法。5. 掌握函數實參與形參的傳遞方式。6. 掌握函數的嵌套調用和遞歸調用的方法。7. 了解全局變量和局部變量、動態變量、靜態變量的概念和使用方法。【實驗內容】任務1 數組的根本定義與應用定義一個10個元素的int數組a,輸入10個數,并輸出。參考程序:main()int i,a10; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+)
2、 printf(%5d,ai); printf(n);運行結果:尋找整數數組num中的最大值及其所在的下標。參考程序: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);運行結果:實現對n個數的數列從小到大排序。比擬交換法、選擇法、冒泡法參考程序:冒泡法#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、運行結果:有一個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);運行結果: 任務3. 函數的定義和聲明1分析推測下面程序的輸出,并上機運行驗證結果。運行結果: #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求出以下程序的運行結果,并描述程序所完成的功能。運行結果: 程序功能是: #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下面程序中,函數fun的功能是根據形參m計算公式T=1/1!+1/2!+1/3!+1/m!的值,上機調試,當從鍵盤輸入10時,給出程序運行的正確結果按四舍五入保存10位小數。輸入10時的結果: )#include main() double fun(int m); /先調用再定義,且不是能缺省的int型,請加上函數說明。 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;任務4. 數組與函數的綜合應用在一個一維數組a中存放10個正整數, 求其中所有的素數。(用數組元素作為函數的實際參數)參考程序: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); 運行結果:設有一個34的矩陣,求出其中的最大元素。(要求:將計算最大值的功能設計成函數,數組名作為參數)參考程序: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);運行結果:任務5. 函數的嵌套調用1跟蹤調試下面程序,注意函數調用的過程中形參、實參的關系。記錄并分析結果;將形參a,b對應改為x,y,使之與實參變量同名,記錄并分析結果。#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);運行結果:將形參a,b對應改為x,y 的結果:結論:無論實參、形參是否同名,交換的只是子函數swap中兩個變量的值。主函數中的x,y的值沒有變。參考紅字內容,用自己的話寫結論2假設輸入2、3,求以下程序的運行結果,分析函數嵌套調用的執行過程。#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);運行結果:任務7. 變量的存儲類型與編譯預處理從鍵盤上輸入一個字符串,內
12、有假設干個字符,再輸入一個字符,編寫程序將字符串中該字符刪去。(用外部函數實現,分別編譯連接,執行main函數文件) /* 文件名為: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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲異常處理與故障排查考核試卷
- 民間非營利組織新舊會計制度有關銜接問題的處理規定2025
- 3.20國際幸福日幸福其實并不遙遠幸福可以很簡單課件
- 四川省內江市東興區2025屆小升初常考易錯數學檢測卷含解析
- 湘潭理工學院《新媒體產品設計與項目管理》2023-2024學年第二學期期末試卷
- 雅安市重點中學2024-2025學年初三5月聯合調研數學試題試卷含解析
- 江西省2024-2025學年高三1月物理試題含解析
- 遼寧特殊教育師范高等專科學校《心理咨詢技術與實務》2023-2024學年第二學期期末試卷
- 臺州科技職業學院《管理會計應用指引》2023-2024學年第二學期期末試卷
- 西安航空職業技術學院《生物多樣性》2023-2024學年第二學期期末試卷
- 2024春期國開電大本科《現代漢語專題》在線形考(任務1至6)試題及答案
- HJ 1235-2021 入河(海)排污口命名與編碼規則-PDF解密
- 公路消防知識培訓內容
- JTG F80-1-2004 公路工程質量檢驗評定標準 第一冊 土建工程
- 《1984》讀書分享課件
- 肺動脈高壓的傳統治療
- 園林植物識別-草本花卉的識別
- 班組長怎樣抓好生產管理
- 【湘少版】(三起)三年級英語下冊(全冊)配套練習
- 裝修施工投標書模板
- 《民航概論》全套課件演示課件
評論
0/150
提交評論