




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言課程設(shè)計(jì)報(bào)告1417102-08 胡文鋒一、實(shí)習(xí)時(shí)間2015年12月 28日2016年月1月1日二、實(shí)習(xí)地點(diǎn)信息樓403機(jī)房三、設(shè)計(jì)目的1.加深對(duì)C語(yǔ)言程序設(shè)計(jì)課程所學(xué)知識(shí)的理解,進(jìn)一步鞏固C語(yǔ)言語(yǔ)法規(guī)則。熟練掌握條件語(yǔ)句、循環(huán)、數(shù)組、函數(shù)、指針、文件的操作。2.學(xué)會(huì)編制結(jié)構(gòu)清晰、風(fēng)格良好、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)腃語(yǔ)言程序,從而具備解決綜合性實(shí)際問(wèn)題的能力。3.程序設(shè)計(jì)方法包括結(jié)構(gòu)化程序設(shè)計(jì)方法和面向?qū)ο蟪绦蛟O(shè)計(jì)方法,兩者適用范圍不同,互為補(bǔ)充。站在軟件工程的高度,讓學(xué)生初步了解用結(jié)構(gòu)化的思想貫穿軟件開(kāi)發(fā)整個(gè)過(guò)程:軟件需求分析(結(jié)構(gòu)化分析方法SA)、軟件設(shè)計(jì)(結(jié)構(gòu)化設(shè)計(jì)方法SD)、程序編碼(結(jié)構(gòu)
2、化程序設(shè)計(jì)SP)。四、實(shí)習(xí)小組成員1417102-08 胡文鋒1417102-18 譚斌1417102-28 仲光明五、指導(dǎo)老師 譚新良老師、徐述老師.六、設(shè)計(jì)題目 經(jīng)過(guò)小組大部分組員的討論,決定選取選題(2、8、10); 理由:1.界面綜合度高,設(shè)計(jì)此界面要用到多種控件和圖標(biāo),有利于大家熟練掌握和運(yùn)用。 2.怎個(gè)系統(tǒng)簡(jiǎn)潔明了,適于初學(xué)者。 3.代碼編寫(xiě)涉及面廣,利用提高綜合應(yīng)用能力。七、基本思路及關(guān)鍵問(wèn)題的解決方法1、基本思路:在拿到問(wèn)題之后,我們先是從內(nèi)心里面接受它,然后再分析問(wèn)題,在分析的過(guò)程中,我們先各自進(jìn)行獨(dú)立的思考,在思考完以后,我們進(jìn)行集體的討論,相互交流,說(shuō)出各自的想法,最后再
3、通過(guò)相互取長(zhǎng)補(bǔ)短,最終匯成一個(gè)問(wèn)題的答案。 2、關(guān)鍵問(wèn)題的解決方法:第一,獨(dú)立思考;第二,集體討論;第三,通過(guò)上網(wǎng)和查閱書(shū)籍;第四,請(qǐng)教老師或是其他小組的同學(xué)。這是我們解決關(guān)鍵問(wèn)題的方法。八、算法及流程圖九、調(diào)試過(guò)程中出現(xiàn)的問(wèn)題及相應(yīng)解決辦法1、調(diào)試過(guò)程中出現(xiàn)的問(wèn)題:(1)程序不能運(yùn)行;(2)程序運(yùn)行出現(xiàn)錯(cuò)誤;(3)程序出現(xiàn)死循環(huán);2、解決方法:首先,找出錯(cuò)誤的所在,然后分析錯(cuò)誤的原因,最后再通過(guò)一些有效的途徑解決問(wèn)題。10、 課程設(shè)計(jì)體會(huì) 回顧這次課程設(shè)計(jì),至今我仍感慨頗多,的確,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整一個(gè)星期的日子里,可以學(xué)到很多很多的東西,同時(shí)不僅可以鞏固了以前
4、所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論和知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)際相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考能力。 做完這個(gè)課程設(shè)計(jì),我們的自信一下子提高了,我們也會(huì)寫(xiě)程序了;盡管對(duì)于有些人這種程序會(huì)很簡(jiǎn)單,可對(duì)于我們C語(yǔ)言初學(xué)者來(lái)說(shuō),已經(jīng)很不容易了。這次體驗(yàn)為以后的學(xué)習(xí)計(jì)算機(jī)的我們?cè)鰪?qiáng)了信心。享受勞動(dòng)成果的滋味實(shí)在美妙啊!很感謝這次的課程設(shè)計(jì),它使我更加地體會(huì)到多看專(zhuān)業(yè)書(shū)的重要性,只有掌握了一定量的專(zhuān)業(yè)知識(shí)才能得心應(yīng)手地解決諸多問(wèn)題;另外,在做任何事倒
5、要有耐心,不要一遇到困難就退縮;在學(xué)習(xí)和工作中要時(shí)刻謹(jǐn)記“團(tuán)結(jié)”二字,它好比通向成功的鋪路石,不可或缺。人生的道路是曲折的,但正是因?yàn)榍廴松殴獠蕣Z目,在人生的道路上,總遇到重重困難,但正是因?yàn)槔щy我們才變得更堅(jiān)強(qiáng)。今后的路還很長(zhǎng),面對(duì)困難,讓我們用行動(dòng)去俘虜它吧! 十一、源程序(每句語(yǔ)言要有詳細(xì)解釋?zhuān)┑诙}:#includestruct Student /設(shè)定一個(gè)包括學(xué)生學(xué)號(hào)、姓名、三科分?jǐn)?shù)的結(jié)構(gòu)體int NO;char name20;float score1,score2,score3;void main()float max(float x,float y); /聲明函數(shù)maxstru
6、ct Student stu5000; /設(shè)定一個(gè)可容納5000個(gè)結(jié)構(gòu)體的量int i,n; /定義兩個(gè)整形變量i,nfloat ave,sum,c,p5000=0; /定義四個(gè)浮點(diǎn)型變量ave,sum,c,p5000printf(the number of student:);scanf(%d,&n); /從鍵盤(pán)輸入學(xué)生個(gè)數(shù)nprintf(put the imformation of student:);for(i=1;i=n;i+)scanf(%d %s %f %f %f,&stui.NO,&,&stui.score1,&stui.score2,&stui.score3)
7、; /從鍵盤(pán)輸入學(xué)生信息 printf(n); /換行for(i=1;i=n;i+) /*求每一位學(xué)生的三科分?jǐn)?shù)的平均數(shù) 三科總分*/ ave=(stui.score1+stui.score2+stui.score3)/3; sum=stui.score1+stui.score2+stui.score3; pi=sum; /每求出一個(gè)人的總分就將其保存for(i=1;i=n;i+)c=max(pi,pi-1); /比較每一位同學(xué)的總分并選出分值最大的賦值給cprintf(the bast score of students name:);for(i=1;iy?x:y; /比較形參x和形參y的大
8、小,并將大的賦值給zreturn(z); /將z的值返回給函數(shù)mzx第八題:#includeint main()int a500500=0; /給定一個(gè)500*500的二位數(shù)組并賦初值 int i,j,k,n=0,count; /設(shè)置整形變量i,j,k,n,count;printf(the number of n:); scanf(%d,&n); /按題目要求從鍵盤(pán)輸入n的值 i=j=0,k=-1; /給i,j賦初值并設(shè)置開(kāi)關(guān)k for(count=2;count=n*n;) /確定n*n方陣所有數(shù)值的范圍if(k0) /對(duì)開(kāi)關(guān)k進(jìn)行判斷其目的是為了確保每相隔一逆時(shí)針45度斜列數(shù)據(jù)進(jìn)行一下操作
9、if(i=n-1) /此時(shí)表示進(jìn)行到第四行的數(shù)據(jù)也是方陣數(shù)據(jù)的關(guān)鍵遞增位置+j; /對(duì)列加一而行不變,即為了符合題目要求而確定數(shù)據(jù)遞增的方向k=-k; /取k的相反數(shù)使下一次運(yùn)算即下一斜列的運(yùn)算發(fā)生改變 else if(j=0) /此時(shí)表示進(jìn)行到第零列的數(shù)據(jù)也是方陣數(shù)據(jù)的另一關(guān)鍵遞增位置+i; /對(duì)行加一而列不變,同樣是為了符合題目要求而確定數(shù)據(jù)遞增的方向k=-k; /取k的相反數(shù)使下一次運(yùn)算即下一斜列的運(yùn)算發(fā)生改變 else -j; /*列減一而行加一是為了 確保在這一斜列的數(shù)據(jù)是以此方向遞增*/ +i; else /*此部分與以上類(lèi)似,但若說(shuō)以上是對(duì)奇數(shù)斜列進(jìn)行操作的話那么一下操作即是針對(duì)
10、偶數(shù)斜列進(jìn)行的*/ if(j=n-1) +i;k=-k; else if(i=0) +j;k=-k; else +j;-i; aji=count+; /確保此方陣數(shù)據(jù)是按規(guī)定方向遞增 for(j=0;jn;j+) /按二維數(shù)組輸出所有數(shù)據(jù) for(i=0;in;i+) printf(%5d,aij); printf(n); /每輸出n個(gè)數(shù)據(jù)進(jìn)行換行處理,使其成為題目所需方陣 第十題:#include #include #define LEN sizeof(struct student)struct student /定義一個(gè)結(jié)構(gòu)體變量long num;int score;struct stud
11、ent*next;struct student lista,listb; /函數(shù)聲明int n,sum=0; /n,sum為全局變量,本文件模塊中各函數(shù)均可使用它int main()struct student*creat(void); /函數(shù)聲明struct student*insert(struct student * ,struct student*); /函數(shù)聲明 void print(struct student*); /函數(shù)聲明 struct student*ahead,*bhead,*abh;printf(input list a:n);ahead=creat(); /調(diào)用函數(shù)c
12、reat建立鏈表A,返回頭地址sum=sum+n;printf(input list b:n);bhead=creat(); /調(diào)用函數(shù)creat建立鏈表B,返回頭地址sum=sum+n;abh=insert(ahead,bhead); /調(diào)用insert函數(shù),將兩表合并print(abh); /輸出合并后的鏈表return 0; struct student*creat(void) /定義函數(shù)也是建立一個(gè)單項(xiàng)動(dòng)態(tài)鏈表。此函數(shù)返回一個(gè)指向鏈表頭的指針 struct student*p1,*p2,*head; n=0; p1=p2=(struct student* )malloc(LEN); /
13、開(kāi)辟一個(gè)新的單元,使p1,p2指向它 printf(input number&scores of student:n); printf(if number is 0,stop inputing.n); scanf(%ld,%d,&p1-num ,&p1-score); /輸入第一個(gè)學(xué)生的學(xué)號(hào)和成績(jī)給p1所指定的節(jié)點(diǎn) head=NULL; while(p1-num!=0) n=n+1; if(n=1) head=p1; /吧p1所指的節(jié)點(diǎn)作為第一個(gè)節(jié)點(diǎn) else p2-next=p1; /把p1所指的節(jié)點(diǎn)鏈接到表尾 p2=p1; /p2移到表尾 p1=(struct student*)mallo
14、c(LEN); /再開(kāi)辟一個(gè)新的使p1指向它 scanf(%ld,%d,&p1-num,&p1-score); /讀入一個(gè)學(xué)生數(shù)據(jù)給p1所指定節(jié)點(diǎn) p2-next=NULL; /表尾節(jié)點(diǎn)的指針變量置UNLL return(head); struct student*insert(struct student*ah,struct student*bh) /定義insert函數(shù),用來(lái)合并兩個(gè)鏈表 struct student*pa1,*pa2,*pb1,*pb2; pa2=pa1=ah; /pa1,pa2都指向鏈表A pb2=pb1=bh; /pb1,pb2都指向鏈表B do while(pb1-
15、numpa1-num)&(pa1-next!=NULL) /當(dāng)讀入的鏈表B的地址大于鏈表A的地址且pa1所指的節(jié)點(diǎn)不是表尾時(shí) pa2=pa1; /令pa2代替Pa1 pa1=pa1-next; /使pa1指向下一個(gè)節(jié)點(diǎn) if(pb1-numnum) /如果讀入的鏈表B的地址小于或等于于鏈表A的地址 if(ah=pa1) /判斷pa1是否指向鏈表A ah=pb1; /如果成立,令pb1也指向鏈表A else /如果不成立 pa2-next=pb1; /令pb1指向鏈表A的鏈尾 pb1=pb1-next; /使pb1指向鏈表B的下一節(jié)點(diǎn) pb2-next=pa1; /令pa1指向鏈表B的鏈尾 pa
16、2=pb2; /令pb2指向鏈表A pb2=pb1; /令鏈表B的鏈尾指向鏈表A while(pa1-next!=NULL)|(pa1=NULL&pb1!=NULL); /當(dāng)鏈表A的鏈尾不是UNLL或者pa1為空且pb1不為空時(shí) if(pb1!=NULL)&(pb1-numpa1-num)&(pa1-next=NULL) /判斷是否pb1不為空且pb1所指的地址大于pa1且鏈表A的鏈尾不為空 pa1-next=pb1; /令pb1指向鏈表A的鏈尾 return(ah); void print(struct student*head) /建立輸出函數(shù) struct student*p; printf(There are %d record:n,sum); p=head; /將頭指針賦值給p if(p!=NULL) do prin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京經(jīng)濟(jì)管理職業(yè)學(xué)院《人體解剖學(xué)與組織胚胎學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建中醫(yī)藥大學(xué)《藥學(xué)細(xì)胞生物學(xué)前沿》2023-2024學(xué)年第一學(xué)期期末試卷
- 平頂山學(xué)院《文化市場(chǎng)調(diào)查與分析》2023-2024學(xué)年第一學(xué)期期末試卷
- 梧州職業(yè)學(xué)院《大學(xué)體育Ⅱ武術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 金山職業(yè)技術(shù)學(xué)院《唐詩(shī)選讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 民辦安徽旅游職業(yè)學(xué)院《文獻(xiàn)檢索及閱讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南經(jīng)濟(jì)管理學(xué)院《現(xiàn)代生態(tài)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安明德理工學(xué)院《第二外語(yǔ)日語(yǔ)二》2023-2024學(xué)年第一學(xué)期期末試卷
- 內(nèi)蒙古民族幼兒師范高等專(zhuān)科學(xué)?!吨袑W(xué)生物學(xué)實(shí)驗(yàn)研究》2023-2024學(xué)年第一學(xué)期期末試卷
- DB4228T 77-2022 小麥品種硒富集能力篩選技術(shù)規(guī)程
- 2025年中國(guó)家居服行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 【MOOC】《基礎(chǔ)工業(yè)工程》(東北大學(xué))中國(guó)大學(xué)慕課答案
- 創(chuàng)新發(fā)展研學(xué)旅游的執(zhí)行路徑與策略
- 商場(chǎng)安全生產(chǎn)培訓(xùn)
- 紹興市部分市屬?lài)?guó)企招聘筆試沖刺題2025
- 口腔科消毒流程和管理標(biāo)準(zhǔn)
- 珠寶行業(yè)顧問(wèn)合作協(xié)議
- 國(guó)開(kāi)《社會(huì)教育及管理》形考任務(wù)1-3答案
- 《AIGC應(yīng)用實(shí)戰(zhàn)(慕課版)》 教案 (15-18) 圖像類(lèi)AIGC工具實(shí)操技巧
- 藥劑科進(jìn)修總結(jié)匯報(bào)
- 培訓(xùn)學(xué)校學(xué)生管理制度
評(píng)論
0/150
提交評(píng)論