




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)一編寫(xiě)函數(shù),求取兩個(gè)整數(shù)m,n的最大公約數(shù)和最小公倍數(shù)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)評(píng)語(yǔ):^考勤(10)紀(jì)^(10)崔過(guò)程(40)設(shè)計(jì)報(bào)告(30)f答辯(10)總成績(jī)(100)專(zhuān)業(yè):電氣工程及其自動(dòng)化班級(jí):電氣1203姓名:熊董學(xué)號(hào):201209837指導(dǎo)教師:王思華
蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué)院2013年07月20日1、基礎(chǔ)題1.1題目編寫(xiě)函數(shù),求取兩個(gè)整數(shù)m,n的最大公約數(shù)和最小公倍數(shù)。1.2題目分析求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)可以用輾轉(zhuǎn)相除法,用兩個(gè)函數(shù)max和min分別求出最大公約數(shù)和最小公倍數(shù)。在主函數(shù)中輸入兩個(gè)整數(shù)m和n,并傳遞給函數(shù)max,求出最大公約數(shù)返回主函數(shù)并賦給整型變量h,然后h和兩個(gè)整數(shù)m,n一起作為實(shí)參傳遞給函數(shù)min,從而求出最小公倍數(shù),返回主函數(shù)賦給1。輸出最大公約數(shù)和最小公倍數(shù)。主函數(shù):N-S圖如圖一輸入兩個(gè)整數(shù)m和n調(diào)用max函數(shù)求出最大公約數(shù)h調(diào)用min函數(shù)求出最小公倍數(shù)1輸出兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù)圖一主函數(shù)圖二max函數(shù)輸入m,n和h向主函數(shù)返回m*n/h的值max圖二max函數(shù)輸入m,n和h向主函數(shù)返回m*n/h的值圖三min函數(shù)源程序#include<stdio.h>intmain(){intmax(int,int);intmin(int,int,int);intm,n,h,l;scanf("%d,%d",&m,&n);h=max(m,n);printf("最大公約數(shù)是%d\n",h);l=min(m,n,h);printf("最小公倍數(shù)是%d\n"J);return0;}intmax(intm,intn){intt,r;if(n>m);{t=m;m=n;n=t;}while((r=m%n)!=0){m=n;n=r;}return(n);}intmin(intm,intn,inth){return(m*n/h);}1.4程序運(yùn)行結(jié)果如圖四圖四基礎(chǔ)題運(yùn)行截圖2、改錯(cuò)題2.1題目#include<stdio.h>#include<conio.h>voidfun(inta,b){intt;t=b;b=a;a=t;}main(){inta,b;clrscr();printf("Entera,b:");scanf("%d%d",&a,&b);fun(&a,&b);printf("a=%db=%d\n",a,b);}2.2題目分析該源程序的目的是交換兩個(gè)數(shù)的值,有主函數(shù)可以看出該函數(shù)是應(yīng)用指針交換兩個(gè)數(shù)的值。所以調(diào)用函數(shù)中的a,b都要改成*a>*b,voidfun(inta,b)改成voidfun(int*a^nt*b)。clrscr()只能在Turbo-C中可用所以改用system("cls")。viodfUn函數(shù):N-S圖如圖五輸入*a,*bt=*b;*b=*a;*a=tviodfUn函數(shù):N-S圖如圖五輸入*a,*bt=*b;*b=*a;*a=t圖五viodfun函數(shù)'清屏輸入ab將a,b賦值到&a^&b中。調(diào)用viodfun函數(shù)交換兩個(gè)數(shù)的值輸出ab的值圖六main函數(shù)正確的源程序#include<stdio.h>#include<conio.h>voidfun(int*a,int*b){intt;t=*b;*b=*a;*a=t;}main(){inta,b;system("cls");printf("Entera,b:");scanf("%d%d",&a,&b);fun(&a,&b);printf("a=%db=%d\n",a,b);}程序運(yùn)行結(jié)果如圖七:圖七改錯(cuò)題運(yùn)行結(jié)果截圖
3、綜合題3、綜合題3.1題目設(shè)計(jì)課題四:猜數(shù)字游戲一、問(wèn)題描述:該游戲可以由程序隨機(jī)產(chǎn)生或由用戶(hù)輸入四個(gè)0到9之間的數(shù)字,且不重復(fù)。玩游戲者通過(guò)游戲提示輸入八次來(lái)匹配上面所輸入的數(shù)字。A表示位置正確且數(shù)字正確,B表示數(shù)字正確而位置不正確。二、功能要求:本游戲顯示這樣的菜單:(1) 隨機(jī)產(chǎn)生數(shù)據(jù)(2) 用戶(hù)輸入數(shù)據(jù)(3) 退出游戲游戲成功與否都能返回主菜單三、 算法提示:數(shù)據(jù)結(jié)構(gòu):數(shù)組用簡(jiǎn)單的程序設(shè)計(jì)方法四、 測(cè)試數(shù)據(jù):測(cè)試數(shù)據(jù):3792第一次輸入:1234第二次輸入:第三次輸入:第四次輸入:第五次輸入:0A2B第二次輸入:第三次輸入:第四次輸入:第五次輸入:0A2B56780A1B08670A1B97861A1B17942A0B第六次輸入:2793第六次輸入:27932A2B第七次輸入:37924A0B游戲成功?。?!五、其它:對(duì)該系統(tǒng)有興趣的同學(xué)可以在實(shí)現(xiàn)系統(tǒng)基本功能后,完善系統(tǒng)的其它功能,如:破記錄功能,若你所匹配的次數(shù)小于紀(jì)錄保持者,則為破紀(jì)錄。3.2題目分析本題要求做一個(gè)猜字游戲,其功能包括菜單、用戶(hù)模式測(cè)試、隨機(jī)產(chǎn)生數(shù)據(jù)進(jìn)行游戲。所以可以得知該游戲包括主函數(shù)、隨機(jī)數(shù)產(chǎn)生函數(shù)、輸入數(shù)字函數(shù)、游戲函數(shù)、測(cè)試數(shù)據(jù)輸入函數(shù)。首先通過(guò)主函數(shù)輸出菜單并選擇所要進(jìn)行的模式如果選擇隨機(jī)產(chǎn)生數(shù)據(jù)則調(diào)用隨機(jī)數(shù)產(chǎn)生函數(shù)產(chǎn)生隨機(jī)數(shù),然后將產(chǎn)生的數(shù)據(jù)代入游戲函數(shù)進(jìn)行游戲,游戲函數(shù)中進(jìn)行游戲輸入數(shù)據(jù)時(shí)調(diào)用輸入數(shù)字函數(shù)輸入數(shù)據(jù);如果選擇用戶(hù)輸入數(shù)據(jù)則調(diào)用測(cè)試數(shù)據(jù)輸入函數(shù)輸入數(shù)據(jù),之后將輸入的數(shù)據(jù)代入游戲函數(shù)中進(jìn)行游戲,游戲函數(shù)中進(jìn)行游戲輸入數(shù)據(jù)時(shí)調(diào)用輸入數(shù)字函數(shù)輸入數(shù)據(jù)。(1)系統(tǒng)的總體框圖如圖八圖八系統(tǒng)的總體框圖(2)函數(shù)間的調(diào)用關(guān)系如圖九圖九函數(shù)間的調(diào)用關(guān)系3.3流程圖輸入數(shù)字函數(shù):如圖十i=0fori0to9str[i]=getch()putchar(str[i])i++putchar(‘\n')fori0to3'str[i]v0llstr[i]>9無(wú)效輸入,重新輸入forj0toi-str[i]=str[j]丫N無(wú)效輸入,重新輸入j++i++圖十輸入數(shù)字函數(shù)游戲函數(shù):如圖十一out[5]forci0to7printf(第%d次輸入,ci+1)c_input(in)fori0to3in[i]=temp[i] 一丫、一一一一一一一 Nout[0]++forj0to3^''''''^_Jn[i]=temp[j] 一一-Y - Nout[2]++j++輸出字符串out游戲成功,按任意鍵返回主菜單getch()out[0]='0'out[2]='0'游戲失敗,按任意鍵返回主菜單getch()圖十一游戲函數(shù)隨機(jī)數(shù)產(chǎn)生函數(shù):如圖十二定義字符數(shù)組data[]=”0123456789”定義字符數(shù)組temp[4]清屏輸出“**隨機(jī)模式**”for(i=0;iv4;i++)j=rand()%(10-i);temp[i]=data[j];data[j]=data[10-i-1];執(zhí)行函數(shù)cgame(temp)圖十二隨機(jī)數(shù)產(chǎn)生函數(shù)用戶(hù)輸入模式函數(shù):如圖十三定義字符數(shù)組temp[4]■清屏輸出“*用戶(hù)輸入模式**”輸出"請(qǐng)輸入測(cè)試數(shù)據(jù):"執(zhí)行函數(shù)c_input(temp)清屏輸出”**用戶(hù)輸入模式**”執(zhí)行函數(shù)cgame(temp)圖十三用戶(hù)輸入模式函數(shù)主函數(shù):如圖十四初始化隨機(jī)數(shù)發(fā)生器清屏While(1)輸出“⑴隨機(jī)產(chǎn)生數(shù)據(jù)”“(2)用戶(hù)輸入數(shù)據(jù)”“(3)退出游戲”“choice:”輸入數(shù)字129中的其中一個(gè)執(zhí)行函數(shù)c_rand()—執(zhí)行執(zhí)行函數(shù)退出程break結(jié)c_rand()序束循環(huán)執(zhí)行break結(jié)束循環(huán)圖十四主函數(shù)源程序#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#include<time.h>voidc_input(char*str){inti,j;input:for(i=0;i<4;i++){str[i]=getch();putchar(str[i]);}putchar('\n');for(i=0;i<4;i++){if(str[i]<'0'||str[i]>'9'){printf("無(wú)效輸入,請(qǐng)重新輸入:");gotoinput;}for(j=0;j<i;j++){if(str[i]==str[j]){printf("無(wú)效輸入,請(qǐng)重新輸入:");gotoinput;}}}}voidc_game(constchar*temp){inti,j,ci;charin[4];charout[5]="0A0B";for(ci=0;ci<8;ci++){printf("第%d次輸入:",ci+1);c_input(in);for(i=0;i<4;i++){if(in[i]==temp[i]){out[0]++;}else{for(j=0;j<4;j++){if(in[i]==temp[j]){out[2]++;}}}}printf("%s\n",out);if(strcmp(out,"4A0B")==0){printf("游戲成功,按下任意鍵返回主菜單。。");getch();return;}out[0]='0';out[2]='0';}printf("游戲失敗,按下任意鍵返回主菜單。。");getch();}voidc_rand(){inti,j;chardata[]="0123456789";chartemp[4];system("cls");printf("**隨機(jī)模式**\n\n");for(i=0;i<4;i++){j=rand()%(10-i);temp[i]=data[j];data[j]=data[10-i-1];}c_game(temp);}voidc_printf(){chartemp[4];system("cls");printf("**用戶(hù)輸入模式**\n\n");printf("請(qǐng)輸入測(cè)試數(shù)據(jù):");c_input(temp);system("cls");printf("**用戶(hù)輸入模式**\n\n");c_game(temp);}voidmain(){srand(time(NULL));while(1){system("cls");printf("(1)隨機(jī)產(chǎn)生數(shù)據(jù)\n");printf("(2)用戶(hù)輸入數(shù)據(jù)\n");printf("(3)退出游戲n");printf("choice:");switch(getch()){case'1':c_rand();break;case'2':c_printf();break;case'3':exit(1);}}}程序運(yùn)行結(jié)果主菜單:如圖十五圖十五主菜單截圖用戶(hù)測(cè)試模式:如圖十六圖十六用戶(hù)測(cè)試模式運(yùn)行結(jié)果截圖隨機(jī)模式:如圖十七圖十七隨機(jī)模式運(yùn)行結(jié)果截圖當(dāng)輸入的四個(gè)數(shù)字中有重復(fù)數(shù)字時(shí):如圖十八圖十八當(dāng)輸入的四個(gè)數(shù)字中有重復(fù)數(shù)字時(shí)結(jié)果截圖當(dāng)選擇退出后:如圖十九圖十九當(dāng)選擇退出后結(jié)果截圖總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握計(jì)算機(jī)開(kāi)發(fā)技術(shù)是十分重要的?;仡櫰鸫舜握n程設(shè)計(jì),至今我仍感慨頗多,的確,自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,在整整一個(gè)星期的日子里,可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 屋面水泥瓦施工方案
- 耐腐蝕泵項(xiàng)目風(fēng)險(xiǎn)識(shí)別與評(píng)估綜合報(bào)告
- 青少年心理健康與行為發(fā)展教育實(shí)踐
- 浙江華遠(yuǎn):盈利預(yù)測(cè)報(bào)告及審核報(bào)告
- 金浦鈦業(yè):上海東邑酒店管理有限公司2024年1-9月財(cái)務(wù)報(bào)表審計(jì)報(bào)告
- 山東石雕六角亭施工方案
- 埋地涂塑鋼管安裝施工方案
- 項(xiàng)目監(jiān)理實(shí)施方案
- 黃土邊坡錨桿施工方案
- 電氣設(shè)備二次搬運(yùn)施工方案
- 2024年上海市楊浦區(qū)高三二模英語(yǔ)試卷及答案
- MOOC 高等數(shù)學(xué)(上)-西北工業(yè)大學(xué) 中國(guó)大學(xué)慕課答案
- 部編版小學(xué)語(yǔ)文四年級(jí)下冊(cè)第二單元教材分析
- 等差數(shù)列公開(kāi)課課件
- 小學(xué)生學(xué)習(xí)習(xí)慣養(yǎng)成知識(shí)講座(定)
- 2024年OTC焊接機(jī)器人基本操作培訓(xùn)
- 合肥通用職業(yè)技術(shù)學(xué)院?jiǎn)握小堵殬I(yè)技能測(cè)試》參考試題庫(kù)(含答案)
- 小學(xué)五年級(jí)《美術(shù)》上冊(cè)知識(shí)點(diǎn)匯總
- 生物工程設(shè)備課件
- 提高團(tuán)隊(duì)協(xié)作與溝通技巧
- 2022版高中生物必修二第一章測(cè)試題及答案解析
評(píng)論
0/150
提交評(píng)論