




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、實驗的目的掌握定義函數的方法。掌握函數的實參與形參的對應關系以及“值傳遞”的方式。掌握函數的嵌套調用及其遞過調用的方法。掌握全局變量與局部變量的使用。二、要求及內容本實驗主要完成函數的的應用訓練,總共要求完成四個問題的源代碼的編輯、編譯、連接與運行,最終產生相關的運行結果,按規定要求提交相應的實驗報告。具體要求完成的問題如下:編程求100—200之間的素數,該區間的數據從主函數中傳出,由一個判別素數的函數進行判別后返回主函數輸出。編寫一個程序,由主函數傳來一個字符串,在函數中分別統計出字母、數字、空格和其它字符的個數,在主函數中打印輸出。用遞歸算法將一個整數n轉換成相應的字符串。輸入10個學生5門課的成績,分別用函數實現下列各項功能:
(1)計算出每個學生的平均分;
(2)計算出每門課程的平均分;
(3)找出所有50個分數中最高分數所對應的學生和課程。三、算法設計思想或程序流程圖1、根據素數是不能被2到本身的開平方之間的任何一個整數整除的整數,設計一個判別一個整數是不是素數的函數,即為“sushu”,然后在主函數中調用并求出100—200中的所有素數。2、編寫一個判斷字母、數字、空格以及其他字符的函數,即“jisuan”,從主函數中輸入一個字符串,調用函數對其計算相關字符的個數。3、從主函數中輸入一個n。設計函數“zfc”,如果n整除10為0,則輸出其對應的ASCLL碼,如果不為0,則繼續返回函數“zfc”,即遞歸調用,直到為0為止。主函數中,判斷n是否大于0,若不大于0,則輸出時求出n的相反數并在其之前加一個“-”號。4、設計一個“score”函數,結合for循環語句和數組計算每個學生和每門課程的平均分并且找出所有50個分數中最高分數所對應的學生和課程,然后再main函數中調用。四、所使用的軟硬件平臺軟件平臺:MicrosoftWindowsXP專業版SP3,MicrosoftVisualC++6.0。硬件平臺:聯想系列,Intel(R)Core(TM)i3,CPU3.20Ghz,2.99GB內存,550GB硬盤。五、源程序代碼 1、#include<stdio.h>#include<math.h>intmain(){intt;intsushu(intn);for(t=100;t<=200;t++){if(sushu(t)==0)printf("%5d",t);};printf("\n");}intsushu(intn){inti;for(i=2;i<sqrt(n);i++)if(n%i==0)break;if(i>sqrt(n))return0;}2、#include<stdio.h>intk,l,m,n;intmain(){intjisuan(chara);inti;charzifuchuan[80];printf("請輸入一個字符串:\n");gets(zifuchuan);k=0,l=0,m=0,n=0;for(i=0;zifuchuan[i]!='\0';i++)jisuan(zifuchuan[i]);printf("字母的個數是:%d,數字的個數是:%d,空格的個數是:%d,其他字符的個數是:%d\n",k,l,m,n);}intjisuan(chara){if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))k++;elseif(a>='0'&&a<'9')l++;elseif(a=='')m++;elsen++;return0;} 3、#include<stdio.h>intmain(){voidzfc(intn);intn;printf("請輸入一個整數n:");scanf("%d",&n);printf("相應的字符串為:");if(n<0){putchar('-');n=-n;}zfc(n);printf("\n");}voidzfc(intn){intm;if((m=n/10)!=0)zfc(m);putchar(n%10+'0');} 4、#include<stdio.h>#include<conio.h>voidscore(){inti,j,a[10][5],max=0,sum=0,b[2];printf("請分別輸入10個學生5門課的成績:\n");for(i=0;i<10;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);printf("每個學生的平均分:\n");for(i=0;i<10;i++){for(j=0;j<5;j++){if(a[i][j]>max)max=a[i][j];sum+=a[i][j];}printf("NO.%d%d\n",i,sum/5);sum=0;}printf("每門課程的平均分:\n");for(j=0;j<5;j++){for(i=0;i<10;i++){sum+=a[i][j];if(a[i][j]==max){b[0]=i;b[1]=j;}}printf("科目%d:%d\n",j,sum/10);sum=0;}printf("最高分數所對應的學生:NO.%d,最高分數所對應的課程:科目%d",b[0],b[1]);}intmain(){voidscore();getch();printf("\n");return0;}六、運行結果及分析 1、 2、 3、 4、七、結論與體會(在上機程序調試中遇到的問題、采用的解決辦法、得到的收獲)通過與C函數的學習,讓我體會到了函數的引入可以減少程序目標代碼的簡便性。不過函數的學習需要細心與耐心,其定義與調用的方法需要仔細斟酌。函數分為庫函數和用戶定義函數,庫函數是C系統提供的,可以直接調用,而用戶定義函數則是用戶自己設計的函數。函數的參數分為形
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《第二單元 綠色暢想-唱歌 手拉手地球村》(教學設計)-2024-2025學年人教版(2012)音樂五年級上冊
- 2024秋七年級數學上冊 第三章 一元一次方程3.4 實際問題與一元一次方程 6銷售中的盈虧問題教學設計(新版)新人教版
- 13《人物描寫一組》教學設計-2023-2024學年五年級下冊語文統編版
- 2023八年級語文下冊 第六單元 21《莊子》二則教學設計 新人教版
- 6 讓我們的學校更美好第二課時教學設計-2023-2024學年道德與法治三年級上冊(部編版)
- Unit 2 My schoolbag Part B(教學設計)-2024-2025學年人教PEP版英語四年級上冊
- 17《松鼠》(教學設計)-2024-2025學年語文五年級上冊統編版
- 九年級體育 第6周 第11次課教學設計
- 勞動合同期滿不再續簽協議書6篇
- 03 小青蛙 教學設計-2024-2025學年語文一年級下冊統編版
- 人行道改造工程設計說明
- 四川省中小流域暴雨洪水計算表格(尾礦庫洪水計算)
- 夫妻通用離婚協議書電子版(四篇)
- 施工安全監督方案實用文檔
- 施工現場危險源告知書
- 認知起道搗固作業的定義主要內容使用范圍以及技術標準
- 消費者行為學智慧樹知到答案章節測試2023年浙江大學
- 社會組織負責人備案表(民非)
- 嵌入式系統基礎
- 安全施工及應急措施方案
- 國際化學品安全告知卡(二甲胺)
評論
0/150
提交評論