C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)計(jì)劃及實(shí)施方案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)計(jì)劃及實(shí)施方案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)計(jì)劃及實(shí)施方案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)計(jì)劃及實(shí)施方案_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)計(jì)劃及實(shí)施方案_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、自動(dòng)化與電氣工程學(xué)院2012級(jí)C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)計(jì)劃及實(shí)施方案一、設(shè)計(jì)安排1、時(shí)間安排課程設(shè)計(jì)安排在本學(xué)期第20周(7月8日7月12日)和第21周(7月13日7月17日)。第20周(7月8日7月12日):給學(xué)生布置設(shè)計(jì)任務(wù)、講解要求。讓學(xué)生做第一類基礎(chǔ)題和第二類改錯(cuò)題,畫出其流程圖,寫出源代碼,并上機(jī)調(diào)試得出運(yùn)行結(jié)果。根據(jù)情況檢查學(xué)生的完成情況。第21周(7月13日7月17日):要求學(xué)生做第三類綜合題,首先要分析出該題的需求和功能;其次畫出各個(gè)模塊及總程序的流程圖;然后編寫源代碼;最后上機(jī)調(diào)試得出運(yùn)行結(jié)果。根據(jù)情況檢查學(xué)生的完成情況(要求每個(gè)學(xué)生做不同的模塊)。7月17日,要求學(xué)生完成課程

2、設(shè)計(jì)報(bào)告并參加課程設(shè)計(jì)檢查和小組答辯。7月17日下午18點(diǎn)前各指導(dǎo)教師完成小組內(nèi)答辯,并收齊所有課程設(shè)計(jì)報(bào)告。報(bào)告按照統(tǒng)一格式完成,課程設(shè)計(jì)的最終成績(jī)由各指導(dǎo)教師根據(jù)學(xué)生平時(shí)的學(xué)習(xí)情況、課程設(shè)計(jì)報(bào)告及答辯情況綜合考慮給出。2、答疑時(shí)間7月8日(學(xué)院樓406):學(xué)生確定所選題目;7月10日下午15:00(學(xué)院樓406):檢查第一類基礎(chǔ)題的流程圖、源代碼及調(diào)試運(yùn)行結(jié)果;7月12日上午10:00(學(xué)院樓406):檢查第一類基礎(chǔ)題和第二類改錯(cuò)題的流程圖、源代碼及調(diào)試運(yùn)行結(jié)果;7月16日下午15:00(學(xué)院樓406):檢查第三類綜合題各模塊及總程序的流程圖、源代碼及調(diào)試運(yùn)行結(jié)果。二、設(shè)計(jì)內(nèi)容與要求1、課

3、程設(shè)計(jì)的基本內(nèi)容課程設(shè)計(jì)題目分成三類,第一類為技巧性強(qiáng)的基礎(chǔ)題目,第二類為程序改錯(cuò)題目,第三類為綜合題目。第一類及第二類題目要求每人一題,不得重復(fù),第三類題目可依據(jù)題目難度,2-3人為一小組合作完成。每個(gè)學(xué)生均提交課程設(shè)計(jì)報(bào)告,以此作為主要評(píng)分依據(jù)。2、設(shè)計(jì)基本步驟設(shè)計(jì)步驟的規(guī)范不但可以培養(yǎng)學(xué)生科學(xué)的工作方法和作風(fēng),而且還能有效地減少錯(cuò)誤,提高工作效率。因此必須嚴(yán)格執(zhí)行良好的設(shè)計(jì)規(guī)范。本課程設(shè)計(jì)的基本步驟是:(1)問題分析及解決方案框架確定充分地分析和理解問題本身,弄清要求做什么(What to do?)。在確定解決方案框架過程中(How to do?),綜合考慮系統(tǒng)功能,考慮怎樣使系統(tǒng)結(jié)構(gòu)清

4、晰、合理、簡(jiǎn)單和易于調(diào)試。最后確定每個(gè)過程和函數(shù)的簡(jiǎn)單功能,以及過程(或函數(shù))之間的調(diào)用關(guān)系。(2)詳細(xì)設(shè)計(jì)確定算法的主要流程,在此基礎(chǔ)上進(jìn)行代碼設(shè)計(jì)(Coding),每個(gè)明確的功能模塊程序一般不超過60行,否則要進(jìn)一步劃分。(3)上機(jī)調(diào)試上機(jī)前程序靜態(tài)檢查可有效提高調(diào)試效率,減少上機(jī)調(diào)試程序時(shí)的無謂錯(cuò)誤。靜態(tài)檢查主要有兩種途徑:用一組測(cè)試數(shù)據(jù)手工執(zhí)行程序;通過閱讀或給別人講解自己的程序而深入全面地理解程序邏輯,把程序中的明顯錯(cuò)誤事先排除。(4)完成課程設(shè)計(jì)說明書課程設(shè)計(jì)說明書內(nèi)容應(yīng)有如下幾部分組成:1) 引言:說明設(shè)計(jì)目的,要求和設(shè)計(jì)方法; 2) 設(shè)計(jì)設(shè)計(jì)思路:主要算法思想分析設(shè)計(jì)表示:每個(gè)

5、函數(shù)或過程的功能,列出每個(gè)過程或函數(shù)所調(diào)用的過程或函數(shù)流程圖:畫出清晰的主程序及各模塊流程圖源代碼:編寫主程序及各模塊函數(shù)的源代碼實(shí)現(xiàn)注釋:各項(xiàng)功能的實(shí)現(xiàn)程度、在完成基本要求的基礎(chǔ)上還實(shí)現(xiàn)了什么功能3) 調(diào)試報(bào)告:調(diào)試過程中遇到的主要問題,是如何解決的;對(duì)設(shè)計(jì)和編碼的 回顧討論和分析;改進(jìn)設(shè)想;經(jīng)驗(yàn)和體會(huì)等。4) 運(yùn)行及測(cè)試結(jié)果。如果題目規(guī)定了測(cè)試數(shù)據(jù),則結(jié)果要包含這些測(cè)試數(shù)據(jù)和運(yùn)行輸出,當(dāng)然還可以含其他測(cè)試數(shù)據(jù)和運(yùn)行輸出。5) 總結(jié):對(duì)設(shè)計(jì)方法,結(jié)果等進(jìn)行總結(jié);6) 參考文獻(xiàn):給出設(shè)計(jì)中主要參考的文獻(xiàn);3、課程設(shè)計(jì)報(bào)告形式要求(1)設(shè)計(jì)報(bào)告僅是對(duì)設(shè)計(jì)目的、設(shè)計(jì)任務(wù)及自己所做設(shè)計(jì)的說明,不允許

6、對(duì)原理內(nèi)容描述過多。(2)設(shè)計(jì)報(bào)告形式1. 紙 型:A4紙,單面打??;2. 封面填寫內(nèi)容格式:中文,宋體,四號(hào);數(shù)字及英文字符,Times New Roman,四號(hào)。3. 頁(yè)邊距:上2.5cm,下2.5cm,右2.5cm,左:3.5CM,左側(cè)裝訂。4. 頁(yè)眉頁(yè)碼:頁(yè)碼居中,底部,Times New Roman,小五,正文起始頁(yè)頁(yè)碼為1。封面不允許出現(xiàn)頁(yè)眉頁(yè)碼。頁(yè)眉頁(yè)碼由正文開始,一律用阿拉伯?dāng)?shù)字連續(xù)編頁(yè)碼。頁(yè)碼必須標(biāo)注在每頁(yè)頁(yè)腳底部居中位置,宋體,小五。行距為最小值9磅,段前為30磅、段后為0。頁(yè)眉宋體,五號(hào),居中。填寫內(nèi)容是“c語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告”。行距為最小值9磅,段前為0、段后為3

7、0磅。5. 正文格式:(a) 章節(jié)標(biāo)題格式:一級(jí)標(biāo)題:中文,宋體,加粗,英文,Times New Roman,加粗,小三,1.5倍行距,居左;二級(jí)標(biāo)題:中文,宋體,加粗,英文,Times New Roman,加粗,四號(hào),1.5倍行距,居左。(b) 正文格式:中文:宋體,小四;英文:Times New Roman,小四;多倍行距 1.25,間距:段前、段后均為0行,取消網(wǎng)格對(duì)齊選項(xiàng)。設(shè)計(jì)(論文)中文字之間不允許有空行,文字與圖之間不允許有多行空白。 (c) 源程序代碼格式:Times New Roman,小四,單倍行距。三、設(shè)計(jì)大綱1、目的進(jìn)一步培養(yǎng)學(xué)生結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深對(duì)高級(jí)語(yǔ)言基本語(yǔ)

8、言要素和控制結(jié)構(gòu)的理解,針對(duì)c語(yǔ)言中的重點(diǎn)和難點(diǎn)內(nèi)容進(jìn)行訓(xùn)練,獨(dú)立完成有一定工作量的程序設(shè)計(jì)任務(wù),同時(shí)強(qiáng)調(diào)好的程序設(shè)計(jì)風(fēng)格。為了使學(xué)生從課程設(shè)計(jì)中盡可能取得比較大的收獲,對(duì)課程設(shè)計(jì)題目分成2類,第一類為技巧性強(qiáng)的基礎(chǔ)要求題目,第二類為綜合題目。學(xué)生從第一類中選擇1個(gè)題目,從第二類中選擇1個(gè)題目進(jìn)行設(shè)計(jì)。2、課程設(shè)計(jì)的要求和過程管理設(shè)計(jì)步驟的規(guī)范不但可以培養(yǎng)學(xué)生科學(xué)的工作方法和作風(fēng),而且還能有效地減少錯(cuò)誤,提高工作效率。因此必須嚴(yán)格執(zhí)行良好的實(shí)驗(yàn)步驟規(guī)范(包括上級(jí)操作規(guī)范)。本課程設(shè)計(jì)的基本步驟是:1. 問題分析及解決方案框架確定充分地分析和理解問題本身,弄清要求做什么(What to do?)

9、。在確定解決方案框架過程中(How to do?),綜合考慮系統(tǒng)功能,考慮怎樣使系統(tǒng)結(jié)構(gòu)清晰、合理、簡(jiǎn)單和易于調(diào)試。最后確定每個(gè)過程和函數(shù)的簡(jiǎn)單功能,以及過程(或函數(shù))之間的調(diào)用關(guān)系。2. 詳細(xì)設(shè)計(jì)和編碼確定算法的主要流程,在此基礎(chǔ)上進(jìn)行代碼設(shè)計(jì)(Coding),每個(gè)明確的功能模塊程序一般不超過60行,否則要進(jìn)一步劃分。3. 上機(jī)前程序靜態(tài)檢查上機(jī)前程序靜態(tài)檢查可有效提高調(diào)試效率,減少上機(jī)調(diào)試程序時(shí)的無謂錯(cuò)誤。靜態(tài)檢查主要有兩種途徑:用一組測(cè)試數(shù)據(jù)手工執(zhí)行程序;通過閱讀或給別人講解自己的程序而深入全面地理解程序邏輯。把程序中的明顯錯(cuò)誤事先排除。4. 上機(jī)調(diào)試程序5. 完成課程設(shè)計(jì)報(bào)告 需求和規(guī)

10、格說明:?jiǎn)栴}描述:題目要解決的問題是什么 設(shè)計(jì)設(shè)計(jì)思路:主要算法思想設(shè)計(jì)表示:每個(gè)函數(shù)或過程的功能,列出每個(gè)過程或函數(shù)所調(diào)用的過程或函數(shù)實(shí)現(xiàn)注釋:各項(xiàng)功能的實(shí)現(xiàn)程度、在完成基本要求的基礎(chǔ)上還實(shí)現(xiàn)了什么功能詳細(xì)設(shè)計(jì):主要算法的偽代碼。這部分不作強(qiáng)制性要求 調(diào)試報(bào)告:調(diào)試過程中遇到的主要問題,是如何解決的;對(duì)設(shè)計(jì)和編碼的回顧討論和分析;改進(jìn)設(shè)想;經(jīng)驗(yàn)和體會(huì)等 附錄:源程序清單和結(jié)果。如果題目規(guī)定了測(cè)試數(shù)據(jù),則結(jié)果要包含這些測(cè)試數(shù)據(jù)和運(yùn)行輸出,當(dāng)然還可以含其他測(cè)試數(shù)據(jù)和運(yùn)行輸出。3、考核評(píng)估通過程序?qū)崿F(xiàn)、總結(jié)報(bào)告和學(xué)習(xí)態(tài)度綜合考評(píng),并結(jié)合學(xué)生的動(dòng)手能力,獨(dú)立分析解決問題的能力和創(chuàng)新精神。成績(jī)分優(yōu)、良

11、、中、及格和不及格五等??己藰?biāo)準(zhǔn)包括:1、 程序設(shè)計(jì)的正確性,程序結(jié)構(gòu)是否合理、編程風(fēng)格。2、 學(xué)生的工作態(tài)度、動(dòng)手能力、創(chuàng)新精神。3、 總結(jié)報(bào)告??偝煽?jī)?cè)u(píng)定:滿分為100分,總分=第一項(xiàng)成績(jī)50%+第二項(xiàng)成績(jī)20%+第三項(xiàng)成績(jī)30% 90-100分為優(yōu)秀,80-89分為良好,70-79分為中等,60-69分為及格,60分以下為不及格。成績(jī)單上按優(yōu)秀、良好、中等、及格和不及格填寫。4、課程設(shè)計(jì)實(shí)習(xí)題(一)基本要求題目 1、 一司機(jī)出車禍后駕車逃離現(xiàn)場(chǎng),第一位目擊者記得車牌號(hào)前兩位數(shù)字相同,且后兩位數(shù)字也相同;第二位目擊者是一位數(shù)學(xué)家,他看出車牌號(hào)是四位完全平方數(shù)。試編程推算肇事車的車牌號(hào)。2、

12、 有17個(gè)人圍成一圈,從0號(hào)的人開始報(bào)數(shù),凡報(bào)到3的倍數(shù)的人離開圈子,然后再數(shù)下去。直到最后只剩下一個(gè)人為止。問此人原來的位置是多少號(hào)。3、 編寫一個(gè)程序,求3X4數(shù)組的轉(zhuǎn)置矩陣。要求在main函數(shù)里讀數(shù),在change函數(shù)里把矩陣轉(zhuǎn)置。4、 用條件編譯方法實(shí)現(xiàn)以下功能:輸入一行電報(bào)文字,可以任選兩種輸出,一為原文輸出;一為將字母變成其下一字母(如a變成b.z變成a。其他字符不變)。用#define命令來控制是否要譯成密碼。例如:#define change 1 ,則輸出密碼。若#define change 0,則不譯成密碼,按原碼輸出。5、 用指向指針的方法對(duì)n個(gè)字符串排序并輸出。6、 用指

13、向指針的方法對(duì)n個(gè)整數(shù)排序并輸出。要求將排序單獨(dú)寫成一個(gè)函數(shù)。N個(gè)整數(shù)在主函數(shù)中輸入。最后在主函數(shù)中輸出。7、 有n個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、年齡和兩科成績(jī)。請(qǐng)編程用結(jié)構(gòu)類型的數(shù)據(jù)處理方式實(shí)現(xiàn)如下目標(biāo):(1)在main函數(shù)中輸入原始數(shù)據(jù);(2)在count函數(shù)中輸出各學(xué)生的總分和平均分;(3)輸出總分最高的學(xué)生;(4)編寫sort函數(shù)將各學(xué)生的數(shù)據(jù)按總分降序輸出。8、 用鏈表方式建立5個(gè)學(xué)生的成績(jī)統(tǒng)計(jì)表,每個(gè)學(xué)生的信息包括學(xué)號(hào)和一門課成績(jī)。要求:(1)程序執(zhí)行前只含頭結(jié)點(diǎn);(2)從鍵盤輸入各學(xué)生的成績(jī)時(shí),按學(xué)號(hào)輸入,但各學(xué)生在鏈表中所占接點(diǎn)的位置按成績(jī)的高低排列;(3)程序要能刪除

14、特定分?jǐn)?shù)線以下的學(xué)生所占的結(jié)點(diǎn),并釋放相應(yīng)的內(nèi)存。9、 編寫文件拷貝程序,執(zhí)行格式:HCOPY file_name1 file_name210、 編寫對(duì)C源程序加行號(hào)的程序,執(zhí)行格式:ADD file_name11、 編寫求 Xn函數(shù)12、 編寫求以下函數(shù)13、 編寫求子串函數(shù)substr(s,n1,n2),在串s中從n1位置開始取n2個(gè)字符的子串14、 文本文件連接程序:FCAT file_name1 file_name2 15、 超文本文件轉(zhuǎn)換成文本文件程序:TRAN file_name1 file_name2 16、 文件分割程序:FG file_name SIZE,如FG XSDOS.

15、LHP 360K17、 文件加密程序:將待加密文件以二進(jìn)制打開,讀入32個(gè)字節(jié),分別與口令異或,在將4、5、6三個(gè)字分別與0xaaaa異或,即完成加密,執(zhí)行第二次就解密18、 求矩陣a、b乘積,結(jié)果存入矩陣c中并按矩陣形式輸出。矩陣相乘的前提:矩陣A(mp)的列數(shù)p=矩陣B(pn)。即:C(mn)=AB 要求 A= B= C= 3 其計(jì)算公式是: (i=1,2,m j=1,2,n) =pkkjikbacij1 19、 編寫字串 str1 中找出所有小寫字母轉(zhuǎn)成大寫字母,大寫字母轉(zhuǎn)成小寫字母后,結(jié)果依次存入字符數(shù)組 str2 中,str1 不變?nèi)詾樵执某绦?。例如,字符?str1 為 91A

16、2BC. a1bc,調(diào)用函數(shù) fun 后,字符數(shù)組 str2將存入91a2bc. A1BC,str1仍然是91A2BC. a1bc。20、 編寫一個(gè)將某個(gè)范圍在-3276832767之間的整數(shù)轉(zhuǎn)換為R進(jìn)制(R=2,5,8,16)的通用程序。(二)程序改錯(cuò)題程序1:#include #include main() int i,j; char ch; while(ch=getch()!=r) i+; printf(%c,ch); printf(you type %d charactersn,i);程序2:#include #include main() int i,j; int sum,k=0;

17、for(i=0;i5;i+); printf(input a number:); scanf(%d,k); sum+=k; printf(the sum is %d,sum);程序3:#include #include main() int i,j; clrscr(); for(i=0;i10;i+) for(j=0;j10;j+) if(i=j)break; printf(* ); printf(n);程序4:#include int fun( ) int a33, sum; int i, j; _; for(i=0; i3; i+) for(j=0; j3; j+)scanf(%d aij

18、); for(i=0; i3; i+) sum = sum * aii; printf(Sum=%dn, sum);main( ) fun( ); 程序5:#include #include void fun(int a, b) int t; t = b; b = a ; a = t;main( ) int a, b; clrscr( ); printf(Enter a,b :); scanf(%d%d, &a, &b); fun(&a, &b); printf(a=%d b=%dn, a, b);程序6:#include #include fun(double *a, *b) if(a*b

19、0.0) return 1; else return 0;main( ) double n, m;clrscr( );printf(Enter n , m : ); scanf(%lf%lf, &n, &m);printf(nThe value of function is: %dn, fun(&n, &m);程序7:#include #include #include int fun(char *s, char *t) int n; char *p, *r; n = 0; while(*s)p = s; r = t;while(*r)if(*r = *p) r+; p+ elsebreak;

20、 if(r = 0)n+;s+; return n;main( ) char s100, t100; int m; clrscr( ); printf(nPlease enter string S: );scanf(%s, s); printf(nPlease enter substring t:); scanf(%s, t); m = fun(s, t); printf(nThe result is : m = %dn, m);程序8:對(duì)候選人得票的統(tǒng)計(jì)程度。設(shè)由3個(gè)候選人,每次輸入一個(gè)得票的候選人的名字,要求最后輸入各人得票結(jié)果。(總票數(shù)為n)。 程序如下:#include structp

21、ersoncharname20;intcount;leader3=Li,0,Zhang,0,Fun,0;main()inti,j;/*error*/charleader_name20;scanf(%ddn,&n);for(i=0;i=n;i+)/*error*/scanf(%s,leader_name);for(j=0;j3;j+)if(leader_name=)/*error*/printf(n);for(i=0;i3;i+)printf(%5s:%dn,,leaderi.count);程序9:函數(shù)str1的功能是輸入一個(gè)英文句子(字符串),將

22、其中每個(gè)單詞的最后一個(gè)字母改寫成大寫,然后輸出此句子。(這里的單詞是指由空格隔開的字符串)。例如:若輸入:thisisabook,則應(yīng)輸出:thiSiSAbooK請(qǐng)改正函數(shù)str1中的兩個(gè)錯(cuò)誤,使程序能輸出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#includestdio.h#includectype.h#includeconio.hvoidstr1(char*p)intk=0;for(;*p;p+)if(k) if(p=)k=0;*p=toupper(*(p-1);elsek=1;voidmain()charstr100;intd;clrscr

23、();printf(npleaseinputastring:);gets(str);str1(str);printf(nafterchanging:n%s,str);程序10:下列給定程序中,函數(shù)fun的功能是:分別統(tǒng)計(jì)字符串中大寫字母和小寫字母的個(gè)數(shù)。例如:給字符串s輸入:AAaaBBb123CCccccd,則應(yīng)該輸出結(jié)果:upper=6,lower=8。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意,不要改多main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include #include void fun (char *s,int a, int b) a應(yīng)為*a,b應(yīng)為*

24、b while(*s) if (*s=A & *s=a & *s=z)b+; (*b)+;s+;main() char s100;int upper=0,lower=0;clrscr();printf(nPlease a string:);gets(s);fun(s,&upper, &lower);printf(n upper=%d lower=%dn,upper,lower);程序11:下列給定程序中,函數(shù)fun的功能是:逐個(gè)比較a、b兩個(gè)字符串對(duì)應(yīng)位置中的字符,把ASCII值大或等于的字符一次存放到c數(shù)組中,形成一個(gè)新的字符串。例如,若a中的字符串為aBCDeFgH,b中的字符串為:ABc

25、d,則c中的字符串為:aBcdeFgh。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意,不要改多main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include #include void; fun(char *p,char *q,char *c)去分號(hào) int k=1; 1改為0 while(*p!=*q) != 改為 | if (*p*q) ck=*q; 小于號(hào)改為小于等于else ck=*p;if (*p) p+;if (*q) q+;k+; main()char a10=aBCDeFgh,b10=ABcd,c80=;fun(a,b,c);printf(The strin

26、g a:); puts(a);printf(The string b:); puts (b);printf(The result:); puts(c);程序12:下列給定程序中,函數(shù)fun的功能是:依次取出字符串中所有數(shù)字字符,形成新的字符串,并取代原字符串。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意,不要改多main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include #include void fun (char *s) int i,j;for (i=0,j=0;si!=0;i+)if (si=0 & si=9)sj=si; j改為jsj=0; sj=0 main(

27、)char item80;clrscr();printf(nEnter a string:);gets(item);printf(nnThe string is :%sn,item);fun (item);printf(nnThe string of changing is :%sn,item);程序13:假定整數(shù)數(shù)列中的數(shù)不重復(fù),并存放在數(shù)組中。下列給定程序中,函數(shù)fun的功能是:刪除數(shù)列中值為x的元素。n中存放的是數(shù)列中元素的個(gè)數(shù)。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意,不要改多main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include #define N 2

28、0fun (int *a,int n, int x)int p=0,i;an=x;while (x!=ap)p=p+1;if (p=n) return -1;elsefor (i=p;in;i+)ai+1=ai; ai=ai+1; return n-1;main()int wN=-3,0,1,5,7,99,10,15,30,90,x,n,i;n=10;printf(The original data:n);for (i=0;in;i+) printf(%5d,wi);printf(nInput x (to delete):);scanf(%d,&x);printf(Delete:%dn,x);

29、n=fun(w,n,x);if (n=-1) printf(*Nor be found!*nn);elseprintf(The data after deleted:n);for (i=0,in;i+) printf(%5d,wi);printf(nn);程序14:下列給定程序中,函數(shù)fun的功能是:根據(jù)整型形參m的值,計(jì)算如下公式的值。t=1-1/22-1/33-1/mm。例如,若m中的值為5,則應(yīng)輸出:0.536389。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意,不要改多main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include #include double f

30、un (int m) double y=1.0;int i;for (i=2;im;i+) “”改為“=” y-=1/(i*i); “1”改為“1.0” return(y);main ()int n=5;clrscr();printf(nRhe result is %1fn,fun(n);程序15:下列給定程序中,函數(shù)fun的功能是:用選擇法對(duì)數(shù)組中的n個(gè)元素按從小到大的順序進(jìn)行排序。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意,不要改多main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include #define N 20void fun(int a,int n) int

31、 i,j,t,p;for (j=0;jn-1;j+)p=j 加上“;”for (i=j;i,n;i+) j改為j+1 if (aiap)p=j; j改為i t=ap;ap=aj;aj=t;main()int aN=9,6,8,3,-1,i,m=5;printf(排序前的數(shù)據(jù):);for (i=0;im;i+) printf(%d,ai);printf(n);fun(a,m);printf(排序后的數(shù)據(jù):);for (i=0;im;i+) printf(%d,ai);printf(n);程序16:給定程序MODI1.C中,fun函數(shù)的功能是:先從鍵盤上輸入一個(gè)3行3列矩陣的各個(gè)元素的值,然后輸出

32、主對(duì)角線元素之積。請(qǐng)改正程序中的錯(cuò)誤,或在橫線處填上適當(dāng)?shù)膬?nèi)容并把橫線刪除,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include int fun ()int a 3 3, sum;int i, j;_;sum = 1;for (i=0;i3;i+) for (j=0;j3;j+) scanf (%d a i j); scanf(%d, &aij); for (i=0; i3; i+)sum=sum*ai i;printf (Sum=%dn, sum);main () fun (); 程序17:下列給定程序中,函數(shù)fun的功能是:從低

33、位開始取出長(zhǎng)整型變量s中偶數(shù)位上的數(shù),一次構(gòu)成一個(gè)新數(shù)放在t中。例如,當(dāng)s中的數(shù)為7654321時(shí),t是的數(shù)為642。請(qǐng)改正程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意,不要改多main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。程序如下:#include #include void fun (long s, long t)1 long sl=10;s/=10;*t=s%10;While(s0)2 s=s/100;*t=s%10*sl+*t;sl=sl*10;main()long s,t;clrscr();printf(nPlease enter s:);scanf(%ld,&s);fun(s,

34、&t);printf(The result is : %ldn,t);(三)綜合題目設(shè)計(jì)課題一:班級(jí)成績(jī)管理系統(tǒng)一、問題描述:對(duì)一個(gè)有N個(gè)學(xué)生的班級(jí),每個(gè)學(xué)生有M門課程。該系統(tǒng)實(shí)現(xiàn)對(duì)班級(jí)成績(jī)的錄入、顯示、修改、排序、保存等操作的管理。二、功能要求:1. 本系統(tǒng)采用一個(gè)結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(hào)、姓名、M門課程名稱。2. 本系統(tǒng)顯示這樣的菜單:請(qǐng)選擇系統(tǒng)功能項(xiàng):a、 成績(jī)錄入b、 成績(jī)顯示c、 成績(jī)保存d、 成績(jī)排序e、 成績(jī)修改(要求先輸入密碼)f、 成績(jī)統(tǒng)計(jì)(1) 顯示每門課程成績(jī)最高的學(xué)生的基本信息(2) 顯示每門課程的平均成績(jī)(3) 顯示超過某門課程平均成績(jī)的學(xué)生人數(shù)g、

35、退出系統(tǒng)3. 執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。4. 將學(xué)生成績(jī)保存到文件中。三、算法提示:1. 數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組。2. 數(shù)據(jù)庫(kù)結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫(kù)。姓名學(xué)號(hào)課程名稱1課程名稱2charCharfloatfloat四、測(cè)試數(shù)據(jù):學(xué)生人數(shù)N=10課程門數(shù)M=4課程名:數(shù)學(xué)、語(yǔ)文、英語(yǔ)、政治五、其它 對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)上述基本功能后,完善系統(tǒng)的其它功能。設(shè)計(jì)課題二:班級(jí)檔案管理系統(tǒng)一、問題描述:對(duì)一個(gè)有N個(gè)學(xué)生的班級(jí),通過該系統(tǒng)實(shí)現(xiàn)對(duì)該班級(jí)學(xué)生的基本信息進(jìn)行錄入、顯示、修改、刪除、保存等操作的管理。二、功能要求:1. 本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組

36、,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(hào)、姓名、性別、年齡、備注。2. 本系統(tǒng)顯示這樣的菜單:請(qǐng)選擇系統(tǒng)功能項(xiàng):a. 學(xué)生基本信息錄入b. 學(xué)生基本信息顯示c. 學(xué)生基本信息保存d. 學(xué)生基本信息刪除e. 學(xué)生基本信息修改(要求先輸入密碼)f. 學(xué)生基本信息查詢(1) 按學(xué)號(hào)查詢(2) 按姓名查詢(3) 按性別查詢(4) 按年齡查詢g. 退出系統(tǒng)3. 執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。4. 將學(xué)生基本信息保存到文件中。5. 進(jìn)入系統(tǒng)之前要先輸入密碼。三、算法提示:1. 數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組2. 數(shù)據(jù)庫(kù)結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫(kù)。姓名學(xué)號(hào)性別年齡備注charcharcharintcha

37、r四、測(cè)試數(shù)據(jù):學(xué)生人數(shù)N=10五、其它:對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)上述基本功能后,完善系統(tǒng)的其它功能。設(shè)計(jì)課題三:飛機(jī)訂票系統(tǒng)一、問題描述:假設(shè)某航空公司只有M架N個(gè)座位的飛機(jī),每架飛機(jī)每天飛行一趟。通過該系統(tǒng)來實(shí)現(xiàn)機(jī)票的訂購(gòu)問題。二、功能要求:1. 本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地 航班號(hào)、座次號(hào)碼、座次訂出與否標(biāo)記、訂座者的姓名和訂座者的身份證號(hào)碼。2. 本系統(tǒng)顯示這樣的菜單: 32 / 32(1) 輸入航班信息 (2) 輸出航班信息 (3) 查找航班信息 a.顯示空座的數(shù)量 b.顯示空座的信息 c.顯示已訂座的信息 d.起飛時(shí)間 (4)

38、訂票預(yù)約 (5)刪除定票預(yù)約 (6)退出系統(tǒng) 3. 本系統(tǒng)成功執(zhí)行菜單的每個(gè)信息,選項(xiàng)4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。4. 查找航班信息既可按線路查,也可按目的地查。5. 在兩次運(yùn)行之間,數(shù)據(jù)被保存于一個(gè)文件里,當(dāng)本程序重新開始的時(shí)候,它首先從該文件讀入數(shù)據(jù).三、算法提示:1. 數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組2. 數(shù)據(jù)庫(kù)結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫(kù)。航班號(hào)起飛時(shí)間目的地座次號(hào)座次訂出與否的標(biāo)記訂票者姓名訂票者身份證號(hào)碼intcharcharintCharcharchar四、測(cè)試數(shù)據(jù):每架飛機(jī)的座位N=12,M=5五、其它:對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)系統(tǒng)基本功能后,完

39、善系統(tǒng)的其它功能。設(shè)計(jì)課題四:猜數(shù)字游戲一、問題描述:該游戲可以由程序隨機(jī)產(chǎn)生或由用戶輸入四個(gè)0到9之間的數(shù)字,且不重復(fù)。玩游戲者通過游戲提示輸入八次來匹配上面所輸入的數(shù)字。A表示位置正確且數(shù)字正確,B表示數(shù)字正確而位置不正確。二、功能要求:1. 本游戲顯示這樣的菜單:(1) 隨機(jī)產(chǎn)生數(shù)據(jù)(2) 用戶輸入數(shù)據(jù)(3) 退出游戲2. 游戲成功與否都能返回主菜單三、算法提示:1. 數(shù)據(jù)結(jié)構(gòu):數(shù)組2. 用簡(jiǎn)單的程序設(shè)計(jì)方法四、測(cè)試數(shù)據(jù):測(cè)試數(shù)據(jù):3792第一次輸入:12340A2B第二次輸入: 56780A1B第三次輸入:08670A1B第四次輸入: 97861A1B第五次輸入: 17942A0B第六

40、次輸入:27932A2B第七次輸入: 37924A0B游戲成功!五、其它:對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)系統(tǒng)基本功能后,完善系統(tǒng)的其它功能,如:破記錄功能,若你所匹配的次數(shù)小于紀(jì)錄保持者,則為破紀(jì)錄。設(shè)計(jì)課題五:電子英漢詞典設(shè)計(jì)一、問題描述:英漢詞典作為一個(gè)常用的學(xué)習(xí)工具,是我們經(jīng)常要使用的。該系統(tǒng)能完成一個(gè)簡(jiǎn)單的電子英漢詞典的功能,如:?jiǎn)卧~的查找、增詞、刪除、修改和維護(hù)等工作。二、功能描述:1. 在計(jì)算機(jī)中建立有限規(guī)模的電子英漢詞典(文件),利用程序?qū)崿F(xiàn)電子英漢詞典的查找、增詞、刪除、修改和維護(hù)工作。2. 詞典的內(nèi)容為:每行對(duì)應(yīng)一個(gè)詞條,每個(gè)詞條由兩個(gè)字符串組成,字符串用若干空格符分開;前一個(gè)是單詞字符串(英文),后一個(gè)是釋義字符串(中文),使用分號(hào)作為多個(gè)釋義的分隔符(無空格)。3. 對(duì)單詞和釋義字符串長(zhǎng)度的限定分別為不少于20個(gè)與40個(gè)字符,詞條數(shù)限定為不多于200條。4. 采用菜單工作方式。在一個(gè)操作執(zhí)行之后,程序詢問是否繼續(xù)執(zhí)行該操作。如輸入Y或y,則重復(fù)同一操作,不退回到菜單;如輸入其它信息,則回到菜單等待另一次選擇。僅當(dāng)選擇退出操作時(shí),程序應(yīng)詢問是否將修改后的詞典存盤,并根據(jù)用戶選擇存盤退出或不存盤退出。5. 要求整個(gè)設(shè)計(jì)以人為本,用戶界面友好。三、算法提示:1. 數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體數(shù)組2. 簡(jiǎn)單的程序設(shè)計(jì)3. 友

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論