最新C語言課程設計完整版_第1頁
最新C語言課程設計完整版_第2頁
最新C語言課程設計完整版_第3頁
最新C語言課程設計完整版_第4頁
最新C語言課程設計完整版_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、中南大學信息院*班計算機類課程實驗報告課程名稱:計算機c語言編程設計 班 級: 姓 名: 學 號: 完成日期: 目 錄一第一題 1.1 需求分析 011.2概要設計 01 1.3 詳細設計 021.4 測試結果 05二第二題2.1 需求分析 082.2概要設計 082.3 詳細設計 082.4 測試結果 12三課程設計總結3.1課程設計過程遇到的問題 143.2課程設計的收獲 143.3對c語言這門課程的認識和思考 14四 參考文獻 14五.附錄一(第一題帶注釋的源程序) 14附錄二(第二題帶注釋的源程序) 17 一.第一題 1.1需求分析程序設計的任務:文件數據的處理兩個文件:data1.t

2、xt和data2.txt,兩個文件中都有很多數字,用空格隔開。data1.txt中有0 1 2 3 4 5 6 7,data2.txt中有2 3 4 5 6 7 8 9運行程序,計算這兩個文件中數字的交集,并且排好序,存放在jiao.txt中;計算這兩個文件中數字的并集,并且排好序,存放在bing.txt中。(1)輸入的形式和輸入值的范圍:整型數據,一維數組;范圍09;(2)輸出的形式:整型數據,一維數組(3)程序所能達到的功能:運行程序計算data1.txt(其中有0 1 2 3 4 5 6 7),data2.txt(其中有2 3 4 5 6 7 8 9)這兩個文件中數字的交集,并且排好序,

3、存放在jiao.txt中;計算這兩個文件中數字的并集,并且排好序,存放在bing.txt中。(4)測試數據: jiao.txt中數據為2 3 4 5 6 7 ;bing.txt中數據為0 1 2 3 4 5 6 7 8 9 1.2 概要設計 (1)int i=0,j=0,k=0,m=0,count=0,temp;定義六個整型變量并給i j k m count賦初值0 int a10,b10,c20,d10;定義四個一維數組分別含有10 10 20 10個元素file *pf0,*pf1,*pf2,*pf3;定義四個文件指針 (2)主程序的流程:定義整型變量,數組;打開data1.txt和dat

4、a2.txt;對數據進行排序處理;將交集和并集分別存入jiao.txt和bing.txt并輸出;結束程序。開始*fp1,*fp2,*fp3,*fp4;1.3 詳細設計 inti=0,j=0,k=0,m=0,count=0,temp;int a10,b10,c20,d10 /*定義變量數組文件指針*/int i=0,j=0,k=0,m=0,count=0,temp;int a10,b10,c20,d10;(fp0=fopen(data1.txt,r)=nullfile *pf0,*pf1,*pf2,*pf3; n printf(cann open this file!n) y y !feof(p

5、f0) n /*打開data1.txt*/ fscanf(pf0,%d,&ai)if(pf0=fopen(data1.txt,r)=null) y printf(cannot open this file!n); i+;getchar();exit(0);while(!feof(pf0)(fp1=fopen(data2.txt,r)=null fscanf(pf0,%d,&ai); n i+; yprintf(cann open this file!n) /*打開data2.txt*/if(pf1=fopen(data2.txt,r)=null)i=0;printf(cannot open t

6、his file!n);getchar(); exit(0); n!feof(pf1) i=0; yfscanf(pf1,%d,&bi)while(!feof(pf1)fscanf(pf1,%d,&bi);i+;i+;i=0ai!=-1 for(i=0;ai!=-1;i+) ck+=ai;/*把a數組中元素的值 y ck+=ai 賦給c數組*/for(i=0;bi!=-1;i+)i+ count=0; for(j=0;aj!=-1;j+)i=0 if(aj!=bi)bi!=-1 count+; if(aj=bi) ycount=0 dm+=bi; /*把交集賦給d*/j=0 aj!=-1 if

7、(count=8)ck+=bi; n yaj!=bi n count+ aj=bi ndm+=bi j+count=8 ck+=bi yi+i=0;/*排序*/ikfor(i=0;ik;i+)j=i;for(j=i;jk;j+)jk if(cjci) temp=ci;cjci ci=cj; cj=temp; n temp=ci ci=cj; cj=temp; yj+i+for(i=0;im;i+)i=0for(j=i;jm;j+)imif(djdi) n yj=itemp=di;di=dj; jmdj=temp;d jdi ntemp=di di=dj; dj=temp; yj+i+print

8、f(并集:n);pf2=fopen(bing.txt,w)=nullprintf(并集:n);if(pf2=fopen(bing.txt,w)=null)/*打開bing.txt*/ yprintf(cannot open this file!n);printf(cannot open this file!n); getchar();exit(0);i=0for(i=0;ik;i+) /*輸出并集*/fprintf(pf2,%d,ci); ikprintf(%d,ci);i+printf(n); yfprintf(pf2,%d,ci); printf(%d,ci); printf(交集:n);

9、 if(pf3=fopen(jiao.txt,w)=null) /*打開jiao.txt*/printf(n); printf(交集:n);printf(cannot open this file!n);getchar();exit(0);pf3=fopen(jiao.txt,w)=nullfor(i=0;im;i+) /*輸出交集*/ fprintf(pf3,%d,di);printf(%d,di);printf(cannot open this file!n);printf(n); yreturn 0;i=0 for(i=0;im;i+) ni+fprintf(pf3,%d,di);pri

10、ntf(%d,di); yprintf(n);1.4 測試結果結束(1)當data1.txt(0 1 2 3 4 5 6 7)data2.txt(2 3 4 5 6 7 8 9) 并集為0 1 2 3 4 5 6 7 8 9 存放在bing.txt中交集為2 3 4 5 6 7 存放在jiao.txt中(2)當data1.txt(45 78 85 48 63 21 47 86) data2.txt(45 78 84 49 63 21 46 83)并集為21 45 46 47 48 49 63 78 83 84 85 86存放在jiao.txt中交集為21 45 63 78存放在bing.txt

11、中(3)當data1.txt(35 38 85 98 73 21 40 80) data2.txt(34 37 84 97 72 20 39 79)并集為20 21 34 35 37 38 39 40 72 73 79 80 84 85 97 98 存放在bing.txt中此時交集為空集二.第二題2.1需求分析程序設計任務:統(tǒng)計字符出現的頻率文件conf.txt中保存了很多字母,如: akdsjfkasdfjaksfjdaksdfjaskldjfaieakjdkfkadsjfiwejfkasdjf運行程序,計算這個文件中各個字母出現的頻率,頻率=出現的次數/總字母數。將頻率存儲在文件rate.

12、txt中。格式為:a:3.2%k:3.8%(1)輸入的形式:整型變量一維數組(2)輸出的形式:實數形式 (3)程序所能達到的功能:akdsjfkasdfjaksfjdaksdfjaskldjfaieakjdkfkadsjfiwejfkasdjf運行程序,計算這個文件中各個字母出現的頻率,將頻率存儲在文件rate.txt中。(4)測試數據:包括正確的輸入及其輸出結果和含有錯誤的輸入及其輸出結果。2.2概要設計(1)int i=0,j=0,k=0,count=0,num26;定義四個整型變量和一個一維數組并給i j k count賦初值0 float rate;定義一個單精度實型變量char s1

13、00;定義一個字符數組file *pf0,*pf1;定義兩個文件指針(2)主程序的流程:定義整型變量,數組,單精度實型變量,文件指針;打開conf.txt;將結果存入rate.txt并輸出;結束程序。開始2.3 詳細設計 *fp0,*fp1;int i=0,j=0,k=0,count=0,num26; float rate; char s100; /*定義變量數組文件指針*/i=0i26numi=0 i+ yi=0i26 n ynumi=0 i+ (fp0=fopen(conf.txt,r)=null n /*打開conf.txt*/ yprintf(cann open this file!n

14、)i=0!feof(pf0)si+=getc(pf0)k=isi= 0printf(conf:n); printf(%s,s); printf(n)j=97j=122 ni=0 y /*for循環(huán)*/iksi=j n ynumj-a+j+i+pf1=fopen(rate.txt,w)=null n y printf(cann open this file!n) /*打開rate.txt*/i=0i26 nrate=(float)numi yprintf(%c:%.1f%n,a+i,rate/k);fprintf(pf1,%c:%.1f%n,a+i,rate/k)printf(n)i+結束2.4

15、 測試結果(1)conf.txt: akdsjfkasdfjaksfjdaksdfjaskldjfaieakjdkfkadsjfiwejfkasdjf a:0.2% b:0.0% c:0.0% d:0.1% e:0.0% f:0.2%g:0.0% h:0.0% i:0.0% j:0.2% k:0.2% l:0.0% m:0.0% n:0.0% o:0.0% p:0.0% q:0.0% r:0.0% s:0.1% t:0.0% u:0.0% v:0.0% w:0.0% x:0.0% y:0.0% z:0.0% (2)conf.txtabcdefgabca:0.2% b:0.2% c:0.2% d

16、:0.1% e:0.1% f:0.1% g:0.1% h:0.0% i:0.0% j:0.0% k:0.0% l:0.0% m:0.0% n:0.0% o:0.0% p:0.0% q:0.0% r:0.0%s:0.0% t:0.0% u:0.0% v:0.0% w:0.0% x:0.0%y:0.0% z:0.0%三課程設計總結3.1課程設計過程遇到的問題在c語言課程設計中,從開始構思到最終完成的過程中出現了很多問題,如開始的設計時沒有什么思路,完全不知從哪里下手,后來漸漸地有了些思路后發(fā)現有些程序不合適,于是一改再改,等到出現了基本的雛形,在運行調試運行過程中又出現了諸多錯誤,有些錯誤當時可以

17、立即解決,但有的根本找不不出錯因,經過請教同學和詢問學長,終于把錯誤找到,此外在課程設計過程中需要用到沒有學到的新知識,于是又拿起相關資料惡補,在應用相關軟件時也出現了種種的問題,不知如何操作,無從下手。3.2課程設計的收獲從剛開始對課程設計的一無所知到現在完成設計任務經歷了諸多困難,剛開始時發(fā)現自己根本無從下手,找不到頭緒,隨著漸漸進入了角色,發(fā)現在課程設計過程中自己知識應用能力不知不覺的得到了提升,同時學到了平時教學中沒有講到的新知識,開闊了眼界,增強對c語言學習的熱情,此外也發(fā)現了平時學習的不足,發(fā)現自己對以前所學過的知識理解得不夠深刻,只是浮于表面,并沒有深層次掌握,這次課程設計為以后

18、的學習方式指明了方向。3.3對c語言這門課程的認識和思考 c語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設計語言,編寫系統(tǒng)應用程序,也可以作為應用程序設計語言, c語言這門課增加了自己對計算機語言的理解,讓自己掌握了基本的程序設計語言,同時提升了學習能力,應用知識能力和創(chuàng)新思維能力,雖然學習c語言這門課程時間并不是很久,但通過這一階段的學習,深深地被c語言所吸引,它是指導學習其他語言的基礎,通過對c語言的學習,增強我們對信息技術快速發(fā)展時代的適應力。四 參考文獻c語言程序設計 李麗娟 馬淑萍主編 中國鐵道出版社c程序設計 譚浩強主編 清華大學出

19、版社五附錄附錄一(第一題帶注釋的源程序)#includeint main()/*定義變量數組文件指針*/int i=0,j=0,k=0,m=0,count=0,temp;int a10,b10,c20,d10;file *pf0,*pf1,*pf2,*pf3; /*打開data1.txt*/if(pf0=fopen(data1.txt,r)=null)printf(cannot open this file!n);getchar();exit(0);while(!feof(pf0)fscanf(pf0,%d,&ai);i+; /*打開data2.txt*/if(pf1=fopen(data2.

20、txt,r)=null)printf(cannot open this file!n);getchar();exit(0);i=0;while(!feof(pf1)fscanf(pf1,%d,&bi);i+;for(i=0;ai!=-1;i+)ck+=ai; /*把a數組中元素的值賦給c數組*/for(i=0;bi!=-1;i+) count=0; for(j=0;aj!=-1;j+) if(aj!=bi) count+; if(aj=bi) dm+=bi; /*把交集賦給d*/ if(count=8)ck+=bi;/*排序*/for(i=0;ik;i+)for(j=i;jk;j+) if(c

21、jci) temp=ci; ci=cj; cj=temp; for(i=0;im;i+)for(j=i;jm;j+)if(djdi)temp=di;di=dj;dj=temp;printf(data1:n);for(i=0;ai!=-1;i+)printf(%d,ai);printf(n);printf(data2:n);for(i=0;bi!=-1;i+)printf(%d,bi);printf(n);printf(并集:n); if(pf2=fopen(bing.txt,w)=null) /*打開bing.txt*/printf(cannot open this file!n);getchar();exit(0);for(i=0;ik;i+) /*輸出并集*/fprintf(pf2,%d,ci);printf(%d,ci);printf(n);printf(交集:n); if(pf3=fopen(jiao.txt,w)=null) /*打開jiao.txt*/printf(cannot open this file!n);getchar();exit(0);for(i=0;im;i+) /*輸出交集*/ fprintf(pf3,%d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論