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

下載本文檔

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

文檔簡介

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

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

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

4、a2.txt;對數(shù)據(jù)進(jìn)行排序處理;將交集和并集分別存入jiao.txt和bing.txt并輸出;結(jié)束程序。開始*fp1,*fp2,*fp3,*fp4;1.3 詳細(xì)設(shè)計(jì) inti=0,j=0,k=0,m=0,count=0,temp;int a10,b10,c20,d10 /*定義變量數(shù)組文件指針*/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(bǔ)數(shù)組中元素的值 y ck+=ai 賦給c數(shù)組*/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 測試結(jié)果結(jié)束(1)當(dāng)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)當(dāng)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)當(dāng)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中此時(shí)交集為空集二.第二題2.1需求分析程序設(shè)計(jì)任務(wù):統(tǒng)計(jì)字符出現(xiàn)的頻率文件conf.txt中保存了很多字母,如: akdsjfkasdfjaksfjdaksdfjaskldjfaieakjdkfkadsjfiwejfkasdjf運(yùn)行程序,計(jì)算這個(gè)文件中各個(gè)字母出現(xiàn)的頻率,頻率=出現(xiàn)的次數(shù)/總字母數(shù)。將頻率存儲(chǔ)在文件rate.

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

13、00;定義一個(gè)字符數(shù)組file *pf0,*pf1;定義兩個(gè)文件指針(2)主程序的流程:定義整型變量,數(shù)組,單精度實(shí)型變量,文件指針;打開conf.txt;將結(jié)果存入rate.txt并輸出;結(jié)束程序。開始2.3 詳細(xì)設(shè)計(jì) *fp0,*fp1;int i=0,j=0,k=0,count=0,num26; float rate; char s100; /*定義變量數(shù)組文件指針*/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+結(jié)束2.4

15、 測試結(jié)果(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%三課程設(shè)計(jì)總結(jié)3.1課程設(shè)計(jì)過程遇到的問題在c語言課程設(shè)計(jì)中,從開始構(gòu)思到最終完成的過程中出現(xiàn)了很多問題,如開始的設(shè)計(jì)時(shí)沒有什么思路,完全不知從哪里下手,后來漸漸地有了些思路后發(fā)現(xiàn)有些程序不合適,于是一改再改,等到出現(xiàn)了基本的雛形,在運(yùn)行調(diào)試運(yùn)行過程中又出現(xiàn)了諸多錯(cuò)誤,有些錯(cuò)誤當(dāng)時(shí)可以

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

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

19、版社五附錄附錄一(第一題帶注釋的源程序)#includeint main()/*定義變量數(shù)組文件指針*/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(bǔ)數(shù)組中元素的值賦給c數(shù)組*/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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論