C語言程序設計課件:4 循環程序設計_第1頁
C語言程序設計課件:4 循環程序設計_第2頁
C語言程序設計課件:4 循環程序設計_第3頁
C語言程序設計課件:4 循環程序設計_第4頁
C語言程序設計課件:4 循環程序設計_第5頁
已閱讀5頁,還剩69頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、4 循環結構程序設計請大家及時到我的個人主頁http:/ 簡單程序設計例1:讀程序,藍色字體的語義?#include void main() /*程序功能:小寫字母轉換成大寫字母*/ char lower,upper; printf(“please input an lowercase:”); scanf(“%c”, &lower); getchar(); while( !(lower=a&lower=z) ) printf(the character you input is not a lowercase,please re-input:n);lower=getchar(); upper=

2、lower-32; printf(“lower:%cupper:%cn, lower,upper);/* 輸入數據的合法性檢查*/2解析C程序設計第2章 簡單程序設計涉及的語法知識循環結構While語句的格式while( P ) A/*語義:當條件p滿足的時候,執行A*/C語言提供了三個處理循環結構的語句:forwhiledo-while3解析C程序設計第2章 簡單程序設計例2 =1+2+100粗略算法:輸入n計算過程輸出結果p分析:從1開始加,每次加i,加完后i加1 ,共加100次即i=1,sum=0, sum=sum+i, i=i+!, i=100?從哪開始?哪些語句循環100次呢?什么時

3、候結束呢?循環三要素:初值循環體循環條件4解析C程序設計第2章 簡單程序設計算法5解析C程序設計第2章 簡單程序設計方法一程序#include main()int i, sum = 0; for (i=1; i=100; i+)/*先判斷后執行,循環100次*/sum = sum + i; /*作累加運算*/printf( 1+100= %dn, sum);循環循環控制變量i起到控制循環次數的作用。+(自加1運算符)-(自減1運算符)6解析C程序設計第2章 簡單程序設計方法二程序#include main() int i = 1, sum=0; while (i = 100) /*先判斷后執行

4、,循環n次*/ sum = sum+i; /*作累加運算*/i+; /*累加次數計數器加1*/printf( 1+100 = %dn, sum);7解析C程序設計第2章 簡單程序設計方法三程序#include main() int i = 1, sum=0; do sum = sum+i; /*作累加運算*/i+; /*累加次數計數器加1*/while (i = 100); /*先執行后判斷,循環n次*/printf(1+100 = %dn, n, p);8解析C程序設計第2章 簡單程序設計涉及的語法知識-循環語句1:whilewhile (表達式) 循環體語句9解析C程序設計第2章 簡單程序

5、設計涉及的語法知識-循環語句2:do-whiledo 循環體語句while (表達式);10解析C程序設計第2章 簡單程序設計涉及的語法知識-循環語句3: for 語句for(表達式1 ; 表達式2 ; 表達式3) 循環體語句 APT循環變量增加步長循環變量賦初值F11解析C程序設計第2章 簡單程序設計循環結構程序設計注意事項三條語句幾乎等價,編程時可用任意一條語句剛才例題中的重點語句是i=1;sum=0 (循環開始之前的初始值)sum=sum+i;i+ (循環內容,即循環體)i=100 (循環條件)因此,寫循環時上述三點萬不可缺。只是對應不同的循環語句,所放的位置不同12解析C程序設計第2章

6、 簡單程序設計下邊兩個程序的區別?int sum=0;int i=1;do sum=sum+i; i+; while (i=100); int sum=0;int i=1;do i+; sum=sum+i; while (i=100);定義變量sum時不賦初值會怎樣?13解析C程序設計第2章 簡單程序設計例2又可寫成#include main()int i,j, sum = 0; for(i=1,j=100; i=50; i+,j-) sum=sum+i+j; printf(1+100 = %dn, sum);兩個循環控制變量i,j用逗號分開逗號運算符在這加分號會怎樣?加;不會出現error,

7、是因為編譯會將;這個空語句當成循環體,里的內容不再循環執行。;14解析C程序設計第2章 簡單程序設計課堂練習1求n!輸入n計算n!輸出結果開始開始fac=fac*n; i+i=nTi=1,fac=1F要學會逐步求精地寫算法15解析C程序設計第2章 簡單程序設計程序#include void main() int i,n; double fac; printf(“please input n:”); scanf(“%d”,&n); for(i=1,fac=1;i=n;i+) fac*=i; printf(“%d!=%lfn”,n,fac);16解析C程序設計第2章 簡單程序設計例3:求1!+2!

8、+n!算法:輸入計算輸出循環開始:i=1;sum=0;循環條件:i=n循環體:計算i!,然后,sum+=i!17解析C程序設計第2章 簡單程序設計例3程序一#include main()int i,n; double term,sum; printf(“please input n:”); scanf(“%d”,&n); for(i=1,sum=0;i=n;i+) for(j=1,term=1;j=i;j+) term*=j; sum=sum+term; /* 求第i項:從頭求起,i!=1*2*i */ printf(“sum=%lfn”,sum);循環嵌套執行順序?18解析C程序設計第2章

9、簡單程序設計例3程序二#include main()int i,n; double term,sum; printf(“please input n:”); scanf(“%d”,&n); for(i=1,term=1,sum=0;i=n;i+) term*=i; sum=sum+term; /*求第i項:借助于前項,i!=(i-1)!*i */ printf(“sum=%lfn”,sum);后項還可以借助前項求,這樣提高效率。這種方法又稱為遞推法!19解析C程序設計第2章 簡單程序設計典型循環題1累加求和的關鍵:尋找累加項的構成規律 前后項之間無關1*2*3 + 3*4*5 + + 99*1

10、00*101 term = i * (i+1) * (i+2); i = 1,3,99 前100項之積 term = n * n / (n-1) * (n+1); n = 2,4,100 1 - 1/2 + 1/3 - 1/4 + + 1/99 - 1/100 + 直到最后一項的絕對值小于10-4為止 term = sign / n;分子sign = -sign; 初值為1分母n = n + 1; 初值為1 20解析C程序設計第2章 簡單程序設計典型循環題2前后項之間有關1!+2!+.+n!term = term * i; i = 1,2,10. term初值為1 a + aa + aaa +

11、 aaaa + aaaaa +. 例a=2, 2 + 22 + 222 + 2222 +. term = term * 10 + a; i = 1,2,n. term初值為0 term = term / n; term初值為1.0n = n + 1,n初值為1 sin(x) x - x3/3! + x5/5! - x7/7! + x9/9! - term = - term * x * x / (n+1) * (n+2); term初值為xn = n + 2,n初值為121解析C程序設計第2章 簡單程序設計小結1掌握簡單循環結構的程序設計,尤其是累加、累乘的問題。能夠讀懂程序功能,并能分析出其運

12、行結果應掌握的語法內容循環結構的三種語句格式和語義理解循環語句的執行過程+ - ,三種運算符的用法22解析C程序設計第2章 簡單程序設計Tips:編程的步驟!分析問題逐步求精地寫算法(仿照練習2,至少寫出兩個層次的算法)寫程序(請嚴格按照附錄C的語法格式書寫)調試程序23解析C程序設計第2章 簡單程序設計作業1編程實現:從鍵盤上輸入全班n個同學的成績,求平均成績。上機觀察題:將例2中的100改為10,上機單步執行,觀察程序的執行過程,以及每個變量的值的變化。24解析C程序設計第2章 簡單程序設計作業1答案1#include void main( ) int i,n; int sum=0,sco

13、re; float average=0.0; printf(n n=?); scanf(%d,&n); for(i=1;i=n;i+) printf(n please input the score of the %d studentn,i); scanf(%f,&score); /* 輸入學生成績 */ if(score100.0) -i; continue; /* 判斷成績的合法性 */ sum += score; /* 求成績之和 */ average = (float)sum/n; /* 求平均成績,在循環結束后 */ printf(n average =%f, average);這里

14、沒有分號,加了分號,循環體就是空語句,里的內容不再循環執行。25解析C程序設計第2章 簡單程序設計作業1答案2#include void main( ) int i,n; float sum=0,score, average=0.0; printf(n n=?); scanf(%d,&n); for(i=1;i=n;i+) do printf(n please input the score of the %d studentn,i); scanf(%f,&score); /* 輸入學生成績 */ while(!(score100.0); /* 判斷成績的合法性 */ sum += score

15、; /* 求成績之和 */ average = sum/n; /* 求平均成績 */ printf(n average =%f, average);26解析C程序設計第2章 簡單程序設計例4:打印輸出九九乘法表#include main() int i, j,m; for (i=1; i=9; i+) printf(“%4d”, m); printf(n); for (i=1; i=9; i+) printf( -); printf(“n”); /*以上打印表頭*/ for (i=1; i=9; i+) /*i可表示第一個乘數從1到9*/ for (j=1; j=9; j+) /*j可表示第二

16、個乘數從1到9*/ m=i*j;printf(%4d, m); printf(n); /*互不相關的循環可以使用相同的循環變量*/*相關的循環(例如嵌套)一定不能使用相同的循環變量*/27解析C程序設計第2章 簡單程序設計多個循環控制變量的三種情況-1for (i=1; i=9; i+) for (j=1; j=9; j+) printf( i=%1d j=%1dn,i,j);i=1 j=1 j=2 j=3.i=1 j=9i=2 j=1 j=2 j=3.i=2 j=9.i=9 j=1 j=2 j=3.i=9 j=9輸出語句執行了9981次。兩個for語句是嵌套關系。外層循環控制變量不變的時候,

17、內層循環控制變量按順序自加內層循環控制變量能用i嗎?不能,如果在層循環中改變了i的值,它對外層的控制也就不會正常從1到9。28解析C程序設計第2章 簡單程序設計多個循環控制變量的三種情況-2for (i=1, j=1; i=9; i+, j+) printf( i=%1d j=%1dn,i,j);i=1 j=1i=2 j=2.i=9 j=9輸出語句執行了9次兩個循環控制變量共同自加29解析C程序設計第2章 簡單程序設計多個循環控制變量的三種情況-3for (i=1; i=9; i+) printf( i=%2dn,i); for (j=1; j=9; j+) printf( i=%2d j=%

18、2dn,i,j);i=1 i=2i=3.i=9 i=10 j=1i=10 j=2i=10 j=3.i=10 j=9每個輸出語句各執行了9次,共9981次兩個循環控制變量各自分別控制各自的循環語句的執行次數,互不干涉。下邊的循環控制變量能用i嗎?能,因為這兩個循環是先后完成,用i不會影響兩個循環的循環次數30解析C程序設計第2章 簡單程序設計例5:上機驗證for (i=1; i=2; i+) for (j=1; j=2; j+) for (k=1; k=2; k+) printf( %d,%d,%dn,i,j,k);結果為?;加個分號會怎樣?111112121122211212221222321

19、312321322再加個分號又會怎樣?331332;再加個分號呢?333!加分號與不加分號不同,循環體發生了變化。請上機觀察各種寫法的執行順序和輸出結果。31解析C程序設計第2章 簡單程序設計練習2:讀程序功能#includemain()int i, sum=0; for(i=1; ; i+) if (i100) break; sum+=i; printf(“sum=%d”,sum);結束當前所在循環,轉到循環花括號結束后的語句。有嵌套的時候要注意結束的是哪一層的循環。32解析C程序設計第2章 簡單程序設計練習3:讀程序功能#includemain()int i, sum=0; for(i=1

20、; i=100; i+) if (i%2) continue; sum+=i; printf(“sum=%d”,sum);結束本次循環中continue后邊的語句,繼續下一次循環。注意轉向。程序功能:求1-100內偶數的和,也可以寫成:#includemain()int i, sum=0; for(i=2; i=100; i=i+2) sum+=i;printf(“sum=%d”,sum);33解析C程序設計第2章 簡單程序設計break和continue注意二者在語義上的區別另外一個轉向語句goto,不建議使用,請大家自學!34解析C程序設計第2章 簡單程序設計例6 百錢買雞問題公元五世紀末

21、,我國古代數學家張丘建在算經中提出了如下問題:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。凡百錢買百雞,問雞翁、母、雛各幾何?#include main() int Cocks, Hens, Chicks; printf(“Cocks t Hens t Chicksn); for (Cocks =0; Cocks =20; Cocks +) for (Hens =0; Hens =33; Hens +) Chicks = 100 Cocks - Hens; if (5* Cocks +3* Hens + Chicks /3.0 = 100) printf(“n%dt%dt%dn,Cocks,He

22、ns,Chicks); 運行結果 Cocks Hens Chicks02575418788118112484 35解析C程序設計第2章 簡單程序設計小結2:多重循環結構程序設計一般情況下:如果循環次數已知,用for如果循環次數未知,用while如果循環體至少要執行一次,用do-while!關鍵單重循環:歸納出每次循環要做的共同工作(規律),即是循環體。循環嵌套: (例:九九乘法表)根據關系分析清楚哪是外層,哪是內層,一層一層寫算法,一層一層寫程序36解析C程序設計第2章 簡單程序設計小結2掌握多重循環(循環嵌套)的程序設計方法:先逐層(由外層到內層)寫算法,再逐層地(由外到內)寫循環語句,注意

23、多層的循環控制變量不能用相同的。掌握break和continue的用法和區別靈活應用循環語句。37解析C程序設計第2章 簡單程序設計作業2編程實現:輸出0-100的平方根表(輸出保留兩位小數)。上機觀察題:上機觀察練習3中程序的執行過程,將continue改為break以后再觀察一下。38解析C程序設計第2章 簡單程序設計兩個常用算法窮舉法:按順序列舉出所有可能的解,然后依次驗證這些是不是真正的解。例如:百錢買百雞問題。迭代法(遞推法)迭代就是用不斷變量的新值替代其舊值。例如,一筆存款每年自動轉存,就形成利滾利的情況,本金每年不同,不斷迭代。遞推是由一個變量的值推出另外的變量的值。它們沒有本質

24、的不同,例如新的存款就是由舊的存款推算出來的。一般可以得到迭代公式,其中指明了新值an+1與舊值an的關系,或一個變量a與另外一個變量b的關系。例如:i!=(i-1)!*i;就表明了這兩種關系。39解析C程序設計第2章 簡單程序設計例7判斷m是否為素(質)數算法:輸入m判斷循環判斷每一個比sqrt(m)小的數是否能整除m,如果能夠整除(找到一個因子),不再繼續循環了,說明m不是素數.輸出判斷結果循環開始i=2循環體:判斷m%i=0成不成立,若成立則結束循環,否則繼續循環循環條件:i=sqrt(m)有兩個循環結束條件,怎樣判斷是滿足哪個條件結束的呢?40解析C程序設計第2章 簡單程序設計#inc

25、lude #include void main() int m,i,k; do printf(Input a positive integer m2 : ); scanf(%d,&m); while(m=2); /* 保證輸入大于2的整數 */ k=sqrt(m); for(i=2;i=k+1) printf(%d is a prime.n,m); /* 無整除數就是素數 */ else printf(%d is not a prime.n,m);例7程序41解析C程序設計第2章 簡單程序設計例7:方法2另外一個思路:循環條件: i=sqrt(m)而且沒找到因子循環開始: 假設沒找到, i=2

26、循環體:判斷m%i=0成不成立,若成立表示找到,做“找到”標記輸出時:若“找到”,則不是素數,否則,是素數找到沒找到如何表示?42解析C程序設計第2章 簡單程序設計#include void main() int m, i, k, find = 0; /*標志變量find置為1*/printf(Please enter a number (=2) :);scanf(%d,&m); k = sqrt(m); for (i=2; i=k & !find; i+) if (m % i = 0) find = 1; if (find) printf(No!n); else printf(Yes!n);

27、 例7:方法2循環只有一個出口。設置標志變量是最好的方法43解析C程序設計第2章 簡單程序設計也可以寫成:#include #include void main() int m, i, k; printf(Please enter a number:); scanf(%d, &m); k = sqrt(m); for (i=2; i=k; i+) if (m%i = 0) printf(No!n); goto end; /*另外一個程序轉向語句:goto,end是語句標號*/ printf(Yes!n); end: ; /*將該行語句(空語句)標記為end,end是語句標號的名字*/ 44解析

28、C程序設計第2章 簡單程序設計 其它典型習題:應用窮舉法搬磚問題:36塊磚,36人搬,男搬4、女搬3、兩個小兒抬一磚,要求一次全搬完,問男、女、小兒須若干? 五家共井問題:我國古代數學巨著九章算數卷第八第十三題為“五家共井,甲二綆(汲水用的井繩)不足,如(接上)乙一綆;乙三綆不足,如丙一綆;丙四綆不足,如丁一綆;丁五綆不足,如戊一綆;戊六綆不足,如甲一綆。如各得所不足一綆,皆逮(dia,及)。問井深,綆長各幾何。答曰:井深七丈二尺一寸,甲綆長二丈六尺五寸,乙綆長一丈九尺一寸,丙綆長一丈四尺八寸,丁綆長一丈三尺九寸,戊綆長七尺六寸。”這是世界上最古老的不定方程問題。請用程序求解。 45解析C程序

29、設計第2章 簡單程序設計其它典型習題:應用窮舉法父子倆的年齡:父親今年30歲,兒子今年6歲,問多少年后父親的年齡始兒子年齡的2倍。換硬幣:把一元人民幣換成5分、2分、1分的硬幣,有多少種換法? 要登上n階樓梯,每一步允許跨1階或2階。共有多少種登樓梯方法? 打印出500之內所有能被7或9整除的數。 一根29cm長的尺子,只允許在它上面刻7個刻度。若要用它能良出1 29cm的各種整長度,刻度應如何選擇? 一個4位數,當它的逆向排列時得到的4位數是它自身的倍數。請用C語言程序,找出這一條件的4位數來。某人的年齡的3次方是四位數,4次方是六位數,并且這兩個數中沒有重復的數字。請用C語言程序,求出該人

30、的年齡46解析C程序設計第2章 簡單程序設計例8,計算Fibonacci數列的第n項Fibonacci是中世紀意大利的一位極有才華的數學家。他的代表作是1202年出版的算盤的書。在這本書中,Fibonacci提出一個問題:假定一對新出生的兔子一個月后成熟,并且再過一個月開始生出一對小兔子。按此規律,在沒有兔子死亡的情形下,一對初生的兔子,到一年頭上,可以繁殖成多少對兔子?顯然,各月的兔子數組成數列:1,1,2,3,5,8,13,21,34,55,89,Fthis = Flast + Fbeforelast47解析C程序設計第2章 簡單程序設計程序#include void main() int

31、 i,Fthis=1,Flast=1,Fbeforelast; for(i=3;i=12;i+) Fthis=Flast+Fbeforelast; Fbeforelast=Flast; Flast=Fthis;/*為下次計算做準備!兩個語句的順序能顛倒嗎?請上機驗證,并觀察結果*/printf(The number of rabbit: %dn,Fthis); 48解析C程序設計第2章 簡單程序設計例9:求兩數的最大公約數輾轉相除法算法輸入兩個數a,b求它們的最大公約數循環開始:循環體:c=a%b;a=b,b=c;循環條件:c!=0輸出49解析C程序設計第2章 簡單程序設計例9程序#inclu

32、de void main() int a, b, c; printf(Please enter two integers:);scanf(%d%d,&a,&b); do c=a%b; a=b; b=c; while(c!=0);printf(The greatest common divisor is %dn,a); 50解析C程序設計第2章 簡單程序設計例10 二分法求方程的根二分法:根據已知條件將對解的搜索范圍縮小到原來的二分之一。迭代法:根據迭代公式(步驟)依次求近似解,直至滿足要求為止。51解析C程序設計第2章 簡單程序設計二分法求方程的解(a)f(h)與f(a)同號時;(b)f(h)

33、與f(a)異號時52解析C程序設計第2章 簡單程序設計其它迭代法習題牛的繁殖問題 :有位科學家曾出了這樣一道數學題:有一頭母牛,它每年年初要生一頭小母牛;每頭小母牛從第四個年頭起,每年年初也要生一頭小母牛。按此規律,若無牛死亡,第20年頭上共有多少頭母牛? 把下列數列延長到第50項 :1,2,5,10,21,42,85,170,341,682, 一個球從100米高度自由落下后,反彈回原來高度的一半。按此規律,到第10次落地時,行程共有多少米?然后將反彈起多高? 53解析C程序設計第2章 簡單程序設計編寫一個C程序,利用如下的格里高利公式求的值。直到最后一項的值小于10-5為止。編寫一個C程序,

34、計算y的值,n由鍵盤輸入。 編寫一個C程序,把下列數列延長到第50項: 1,2,5,10,21,42,85,170,341,682, 切餅問題。一張大餅放在板上,如果不許將餅移動,問切n刀時,最多可以切成幾塊。 54解析C程序設計第2章 簡單程序設計例11:猜數游戲 先由計算機“想”一個數請人猜,如果人猜對了,則計算機給出提示:“Right!”, 否則提示:“Wrong!”,并告訴人所猜的數是大還是小。55解析C程序設計第2章 簡單程序設計庫函數rand()怎樣模擬計算機“想”一個數呢?隨機函數rand()#include 產生0,RAND_MAX 之間的隨機數RAND_MAX在stdlib.

35、h中定義,TC中是32767magic = rand(); 產生0,b-1 之間的隨機數magic = rand()%b;產生a,a+b-1 之間的隨機數magic = rand()%b + a; 56解析C程序設計第2章 簡單程序設計#include #include main() int magic; /*計算機想的數*/int guess; /*人猜的數*/magic = rand()%100 + 1; /*“想”一個1,100之間的數magic*/printf(Please guess a magic number:);scanf(%d, &guess); /*猜數*/ if (gue

36、ss magic) /*判斷*/ printf(Wrong! Too high!n); else if (guess magic) printf(Wrong! Too low!n); else printf(Right! n); printf(The number is:%d n, magic); 猜數游戲-1只猜一次,要猜多次,直到猜對呢?哪些要循環呢?循環條件是什么?57解析C程序設計第2章 簡單程序設計#include #include main() int magic, guess, counter = 0 ; /*記錄人猜次數*/int magic = rand() % 100 +

37、1; do printf(Please guess a magic number:);scanf(%d, &guess); /*猜數*/ counter +; /*計數器變量count加1*/if (guess magic) /*判斷*/ printf(Wrong! Too high!n);else if (guess magic) printf(Wrong! Too low!n); else printf(Right! n); while (guess != magic); printf( you guess %d times!n, counter); 猜數游戲-2?用while行不行?最多

38、給他10次機會猜數,怎么解決?58解析C程序設計第2章 簡單程序設計#include #include main( )int magic, guess,counter = 0; magic = rand() % 100 + 1; doprintf(Please guess a magic number:);scanf(%d, &guess); /*猜數*/ counter +; /*計數器變量count加1*/if (guess magic) /*判斷*/ printf(Wrong! Too high!n);else if (guess magic) printf(Wrong! Too low

39、!n); else printf(Right!n); while (guess != magic & counter10); if (counter=10) /*10次仍沒猜對,提示最終結果*/ printf( the integer is %d, you guess 10 times! But you are fail!n ,magic ); else printf(congratulations! you just guess %d times!n, magic ,counter); 猜數游戲-359解析C程序設計第2章 簡單程序設計庫函數srand()每次運行程序時機器所“想”的數都是一

40、樣的,這是什么原因呢?函數rand()產生的只是偽隨機數隨機函數srand為函數rand()設置隨機數種子來實現對函數rand所產生的偽隨機數的 “隨機化” 通過鍵入隨機數種子,產生0,100之間的隨機數scanf(%u, &seed); srand(seed); magic = rand() % 100 + 1; 60解析C程序設計第2章 簡單程序設計#include #include main() int magic, guess,counter = 0; printf(“please input a seed:”); scanf(“%u”, &seed); /*輸入種子*/ srand(

41、seed); /*設置種子*/ magic = rand() % 100 + 1; /*產生隨機數*/ doprintf(Please guess a magic number:);scanf(%d, &guess); /*猜數*/ counter +; /*計數器變量count加1*/if (guess magic) /*判斷*/ printf(Wrong! Too high!n);else if (guess magic) printf(Wrong! Too low!n); else printf(Right!n); while (guess != magic & counter10);

42、if (counter=10) /*10次仍沒猜對,提示最終結果*/ printf( the integer is %d, you guess 10 times! But you are fail!n ,magic ); else printf(congratulations! you just guess %d times!n, magic ,counter); 猜數游戲-461解析C程序設計第2章 簡單程序設計庫函數time()如何自動產生種子?使用計算機讀取其時鐘值并把該值自動設置為隨機數種子,產生0,100之間的隨機數函數time()返回以秒計算的當前時間值,該值被轉換為無符號整數并用

43、作隨機數發生器的種子 #include srand(time(NULL); magic = rand() % 100 + 1; 62解析C程序設計第2章 簡單程序設計#include #include #include main()int magic, guess,counter = 0; srand(time(NULL); /*根據系統當前時刻設置種子*/ magic = rand() % 100 + 1; doprintf(Please guess a magic number:);scanf(%d, &guess); /*猜數*/ counter +; /*計數器變量count加1*/i

44、f (guess magic) /*判斷*/ printf(Wrong! Too high!n);else if (guess magic) printf(Wrong! Too low!n); else printf(Right!n); while (guess != magic & counter10); if (counter=10) /*10次仍沒猜對,提示最終結果*/ printf( the integer is %d, you guess 10 times! But you are fail!n ,magic ); else printf(congratulations! you just guess %d times!n, magic ,counter); 猜數游戲-563解析C程序設計第2章 簡單程序設計小結3理解窮舉法和迭代法掌握綜合結構的程序設計能夠讀懂程序功能,并能分析出其運行結果64解析C程序設計第2章 簡單程序設計作業3:編程:一個三位數,如果它的每個數位上的立方和等于這個數,則這個數是一個水仙花數(例如:153135333,找出所有的水仙花數。編程:一個球從100米高度自由落下后,反彈回原來高度的一半。按此規律,到第10次落地時,行

溫馨提示

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

評論

0/150

提交評論