怎樣模擬計(jì)算機(jī)“想”一個(gè)數(shù)呢?用隨機(jī)函數(shù)rand(">
C語(yǔ)言函數(shù)定義、調(diào)用-遞歸函數(shù)

C語(yǔ)言函數(shù)定義、調(diào)用-遞歸函數(shù)

ID:41394032

大小:63.16 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-08-24

C語(yǔ)言函數(shù)定義、調(diào)用-遞歸函數(shù)_第1頁(yè)
C語(yǔ)言函數(shù)定義、調(diào)用-遞歸函數(shù)_第2頁(yè)
C語(yǔ)言函數(shù)定義、調(diào)用-遞歸函數(shù)_第3頁(yè)
C語(yǔ)言函數(shù)定義、調(diào)用-遞歸函數(shù)_第4頁(yè)
資源描述:

《C語(yǔ)言函數(shù)定義、調(diào)用-遞歸函數(shù)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)5函數(shù)程序設(shè)計(jì)班級(jí)學(xué)號(hào)姓名一、實(shí)驗(yàn)?zāi)康?1)掌握c語(yǔ)言函數(shù)定義及調(diào)用的規(guī)則;(2)掌握遞歸函數(shù)的編寫方法和運(yùn)行過(guò)程;(3)理解變量的作用域和生存期。二、補(bǔ)充知識(shí):>怎樣模擬計(jì)算機(jī)“想”一個(gè)數(shù)呢?用隨機(jī)函數(shù)rand()產(chǎn)生[0,RAND_MAX]之間的隨機(jī)數(shù)magicrand();RAND_MAX是在stdlib.h中定義,不大于雙字節(jié)整數(shù)的]大值32767,所以使用前加#include>產(chǎn)生[0,b-1]之間的隨機(jī)數(shù)?magic=rand()%b;>產(chǎn)生[a,a+b-1]之間的隨機(jī)數(shù)?magic=rand

2、()%b+a;rand()產(chǎn)生的數(shù)據(jù)是一串偽隨機(jī)序列,要實(shí)現(xiàn)真正的隨機(jī)化,用srand()函數(shù)播種種子:?ttinclude?srand(time(NULL));?magic=rand()%100+1;二、實(shí)驗(yàn)內(nèi)容及步驟1、程序改錯(cuò)輸入已編好的源程序,源程序中包含有錯(cuò)誤,先對(duì)源程序進(jìn)行編譯和連接,然后根據(jù)提示信息,修改程序中的錯(cuò)誤,經(jīng)過(guò)多次修改一編譯一連接,直到編譯、連接成功。最后運(yùn)行程序,輸出正確結(jié)果。⑴下述程序中,函數(shù)FUN功能是:計(jì)算正整數(shù)NUM的各位上的數(shù)字之積。例如,若輸入252,則輸出應(yīng)該是20;若輸入202,則輸出應(yīng)該是

3、0。^include/*提示:有3處錯(cuò)誤*/#ineludelongfun(num){longk=l;do{k*=num%10;num=10;)while(num)returnk;}voidmain(){longn;scanf("%ld”,&n);printf("%ld”,fun(n));修改后程序代碼:ttincludelongFun(longnum)longk=1;do{k*=nun%1O;num/=1O;}uhile(num);returnk;}intmain(){longn;sc

4、anFC^ld'^&n);longFun(longnum);printFC^ldXn'^funtn));return0;"C:UsersAdministratorDesktopDebugl.exe"2020Pressanykeytocontinue2、編寫程序模擬擲骰子游戲。已知擲骰子游戲的游戲規(guī)則為:每個(gè)骰子有6面,這些面包含1、2、3、4、5、6個(gè)點(diǎn),擲兩枚骰子之后,計(jì)算點(diǎn)數(shù)Z和。如果第一次擲的點(diǎn)數(shù)和為7或11,則游戲者獲勝;如果第一次擲的點(diǎn)數(shù)和為2、3或12,則游戲者輸;如果第一次擲的點(diǎn)數(shù)和為4、5、6、8、9或10,則將這個(gè)和作為游

5、戲者獲勝需要擲出的點(diǎn)數(shù),繼續(xù)投骰子,肓到擲到該點(diǎn)數(shù)時(shí)算是游戲者獲勝。如果投擲7次仍未擲到該點(diǎn)數(shù),則游戲者輸。#include"stdio.h〃ttinclude"stdlib.h"^include"conio.h〃#include〃time.h〃enum{CONTINUE,WON,LOST);voidmain(){intstatus二CONTINUE;inti二0,j二0,add,k;srand((unsigned)time(NULL));while(i=0)i=rand()%6;printf(,zl:%drT,i);while(j==0)j=ra

6、nd()&6;printf(z,2:%d〃,j);add二i+j;if(add==llIIadd==7)status二WON;if(add==2

7、

8、add==3

9、

10、add==12)status二LOST;if(status二二WON)printfCYouWin!,z);elseif(status二二LOST)printf(,zYOUL0ST!,z);else{for(k=l;k<=7;k++){i二0;J=0;printf(〃***************%d****************〃,k)while(i==0)i=rand(

11、)%6;printf(,zl:%d〃,i);while(j==0)j=rand()%6;printf(z,2:%d〃,j);if((i+j)=add)status二WON;break;}}if(status二二WON)printf("YOUWTN!,z);elseprintf("YOUL0ST!,z);}getch();1:52:2VouWin?3.遞歸程序設(shè)計(jì)練習(xí)一一計(jì)算最犬公約數(shù)利用計(jì)算最大公約數(shù)的三條性質(zhì),用遞歸方法計(jì)算兩個(gè)整數(shù)的最大公約數(shù)。性質(zhì)1:如果x〉y,則x和y的最大公約數(shù)與x-y和y的最大公約數(shù)相同性質(zhì)2:如果y>x,

12、則x和y的最大公約數(shù)與x和y-x的最大公約數(shù)相同性質(zhì)3:如果x二y,則x和y的最大公約數(shù)與x值和y值相同,即

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。