C語(yǔ)言程序設(shè)計(jì) 第四章 循環(huán)語(yǔ)句和轉(zhuǎn)移語(yǔ)句_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第四章 循環(huán)語(yǔ)句和轉(zhuǎn)移語(yǔ)句_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第四章 循環(huán)語(yǔ)句和轉(zhuǎn)移語(yǔ)句_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第四章 循環(huán)語(yǔ)句和轉(zhuǎn)移語(yǔ)句_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì) 第四章 循環(huán)語(yǔ)句和轉(zhuǎn)移語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第4 4章章 循環(huán)語(yǔ)句和轉(zhuǎn)移語(yǔ)句循環(huán)語(yǔ)句和轉(zhuǎn)移語(yǔ)句4.1 for循環(huán)循環(huán)4.2 while循環(huán)循環(huán)4.3 do-while循環(huán)循環(huán) 4.4 跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句4.5 循環(huán)的嵌套循環(huán)的嵌套4.6 程序設(shè)計(jì)舉例程序設(shè)計(jì)舉例4.1 for循環(huán)循環(huán)循環(huán)循環(huán): 就是有規(guī)律地重復(fù)執(zhí)行某些語(yǔ)句的過(guò)程。 例如:要計(jì)算0到360度的正弦函數(shù),要求每隔0.1度計(jì)算一次,如果沒(méi)有循環(huán)結(jié)構(gòu),則: . x=0.0; y=sin(x); printf(“y=%f”,y); x=0.1; y=sin(x*3.14159/180.0); printf(“y=%f”,y); 對(duì)于如此簡(jiǎn)單的問(wèn)題,需要10000多條語(yǔ)句。 循環(huán)結(jié)

2、構(gòu)來(lái)處理重復(fù)計(jì)算的問(wèn)題。對(duì)于上述問(wèn)題可以用以下程序:for(i=0;i=3600;i+) x=i*3.14159/180.00; y=sin(x); printf(“y=%f”,y); 顯然,這段程序簡(jiǎn)潔易懂。顯然,這段程序簡(jiǎn)潔易懂。4.1 for4.1 for循環(huán)循環(huán)for語(yǔ)句的一般格式為: for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句表達(dá)式1用于循環(huán)賦初始值,它只能執(zhí)行一次;表達(dá)式2是循環(huán)條件;表達(dá)式3用于對(duì)循環(huán)條件的修改,以使循環(huán)能于結(jié)束。求解表達(dá)式求解表達(dá)式1表達(dá)式表達(dá)式2語(yǔ)句語(yǔ)句求解表達(dá)式求解表達(dá)式3for循環(huán)下面的語(yǔ)句循環(huán)下面的語(yǔ)句非非00例1:求從1加到100的程序。#inclu

3、de void main() int s,i; s=0; for(i=1;i=100;i+) s=s+i; printf(sum=%d,s); 循環(huán)體!結(jié)果:sum=5050for語(yǔ)句-范例 #include void main(void ) int i,n; long fact=1; printf(please input n:); scanf(%d,&n); for(i=1;i=n;i+) fact*=i; printf(%d!=%ld,n,fact);例例2:求求n!對(duì)對(duì)forfor語(yǔ)句作幾點(diǎn)說(shuō)明:語(yǔ)句作幾點(diǎn)說(shuō)明:(1)可以將表達(dá)式1放到for語(yǔ)句之前,在for語(yǔ)句內(nèi)缺省表達(dá)式1。 例如

4、: s=0,i=1; for(; i=100; i+) s=s+i;對(duì)對(duì)forfor語(yǔ)句作幾點(diǎn)說(shuō)明:語(yǔ)句作幾點(diǎn)說(shuō)明:(2)表達(dá)式2如果缺省(分號(hào)不能缺省),相當(dāng)于表達(dá)式2永遠(yuǎn)為非0(“真”),從而循環(huán)無(wú)終止地進(jìn)行下去。 例如: s=0; for(i=1; ;i+) s=s+i;(3)可以把表達(dá)式3改為表達(dá)式語(yǔ)句移到循環(huán)體的尾部,作為循環(huán)體的一部分。 例如: s=0; for(i=1;i=100;) s=s+i; i+; 對(duì)對(duì)for語(yǔ)句作幾點(diǎn)說(shuō)明語(yǔ)句作幾點(diǎn)說(shuō)明:對(duì)對(duì)for語(yǔ)句作幾點(diǎn)說(shuō)明:語(yǔ)句作幾點(diǎn)說(shuō)明:(4)可以把與循環(huán)控制變量無(wú)關(guān)的循環(huán)初始化操作放入表達(dá)式1中,也可以把循 環(huán)體中與循環(huán)變量無(wú)關(guān)

5、的操作放到表達(dá)式3中。 例如: for(s=0,i=1;i=100;i+) s=s+i; 其中,s=0,i=1是逗號(hào)表達(dá)式。對(duì)對(duì)for語(yǔ)句作幾點(diǎn)說(shuō)明語(yǔ)句作幾點(diǎn)說(shuō)明:(5)如果循環(huán)體中沒(méi)有任何語(yǔ)句,則應(yīng)該加一個(gè)分號(hào)。 例如: s=0; for(i=1; i=100; s=s+i, i+) ; ;此分號(hào)不能少!例例3: 求一個(gè)等差數(shù)列前求一個(gè)等差數(shù)列前n項(xiàng)的和:項(xiàng)的和: ai+1-ai=d (i=1,2,3)分析:分析:1 輸入輸入n、d和等差數(shù)列的第一個(gè)數(shù)和等差數(shù)列的第一個(gè)數(shù)a的取值。的取值。 2 sum 、i的初值置的初值置0 3 a+sumsum 4 計(jì)算數(shù)列中下一個(gè)數(shù)的取值計(jì)算數(shù)列中下一個(gè)

6、數(shù)的取值 a+da 5 i+1i 6 重復(fù)重復(fù)3、4、5步直到步直到i大于大于n 7 輸出結(jié)果輸出結(jié)果nfor語(yǔ)句-范例#include void main(void) int a , d , n , i ; int ai , sum=0 ; printf(“input a=?td=?tn=?n”) ; scanf(“%d%d%d”, &a,&d,&n) ; ai=a; for(i=1; i=n ; i+) sum+=ai ; ai+=d ; printf(“sum=%dn” , sum) ;例例4 求求Fibonacci數(shù)列數(shù)列1,1,2,3,5,8 的前的前30個(gè)數(shù)個(gè)數(shù)F1=1 F2=1

7、Fn=Fn-1+Fn-22=1+1 3=1+25=2+3 8=3+5在一次循環(huán)中計(jì)算兩項(xiàng),遞推公式為:在一次循環(huán)中計(jì)算兩項(xiàng),遞推公式為:F1=1 F2=1 (初值)(初值)F1=F1+F2F2=F2+F1 #include void main( ) long int f1, f2; int i, n; printf (“ Input n:”); scanf (“ %d”, &n); f1=f2=1; for (i=1;i=n;i+) printf(“%ldt%ldn”,f1,f2); f1=f1+f2; f2=f2+f1; 練習(xí):練習(xí): 已知已知a1=10,a2=-3、an=3an-1+an-

8、2,求,求an前前10項(xiàng)之和。項(xiàng)之和。分析:從第分析:從第3項(xiàng)起都可以根據(jù)公式求出,可項(xiàng)起都可以根據(jù)公式求出,可設(shè)變量設(shè)變量x表示當(dāng)前項(xiàng),表示當(dāng)前項(xiàng),sum表示和,通過(guò)表示和,通過(guò)8次循環(huán),求出第次循環(huán),求出第3項(xiàng)到第項(xiàng)到第10項(xiàng)當(dāng)前項(xiàng)的項(xiàng)當(dāng)前項(xiàng)的值,并累加到值,并累加到sum中。中。#include void main(void) int a1=10,a2=-3,i,x,sum; sum=a1+a2; for(i=3;i=10;i+) x=3*a2+a1; sum+=x; a1=a2; a2=x; printf(前前10項(xiàng)和項(xiàng)和=%dn,sum); 例5 利用公式計(jì)算ex=1+x/1!+x2

9、/2!+x3/3!+xn/n!對(duì)于求級(jí)數(shù)的和,常用兩類方法:1)通項(xiàng)公式法t0=1 ti=xi/i! (i=1,2,.n)2)遞推公式法t0=1 ti= ti-1 .x/i (i=1,2,n)對(duì)于本題使用遞推公式法計(jì)算量要小。程序如下: #include void main(void) int i,n; double t,x,ex; ex=1.0; t=1.0; printf(“Enter value of n,x:”); scanf(“%d%lf”,&n,&x); for (i=1;in;i+) t*=x/i; ex+=t; printf(“exp(%f)=%lfn”,x,ex); 例6 求

10、10個(gè)大于0小于100的數(shù)中的最大數(shù)和最小數(shù)置初值的方法一般有兩種:1)極值法:取有界數(shù)據(jù)的上界作為最小值的初值,取有界數(shù)據(jù)的下界作為最大的初值2)成員法:取一批數(shù)據(jù)的第一個(gè)數(shù)作為最大值和最小值的初值。本程序采用極值法#include void main( ) int a, i, max, min; max=0; min=100; for (i=1;i=10;i+) scanf(“%d”, &a); if (maxa) min=a; printf(“Max=%d,Min=%dn”,max,min); for語(yǔ)句的特點(diǎn):語(yǔ)句的特點(diǎn):1、使用了三個(gè)表達(dá)式、使用了三個(gè)表達(dá)式2、循環(huán)控制變量可以在循環(huán)

11、體內(nèi)使用,也可、循環(huán)控制變量可以在循環(huán)體內(nèi)使用,也可以不使用,僅用來(lái)控制循環(huán)次數(shù)以不使用,僅用來(lái)控制循環(huán)次數(shù)3、從正常出口離開(kāi)循環(huán)時(shí),循環(huán)控制變量會(huì)、從正常出口離開(kāi)循環(huán)時(shí),循環(huán)控制變量會(huì)超過(guò)終值超過(guò)終值4.2 while4.2 while循環(huán)循環(huán)whilewhile語(yǔ)句的一般格式為:語(yǔ)句的一般格式為: while(while(表達(dá)式表達(dá)式) ) 語(yǔ)句語(yǔ)句whilewhile語(yǔ)句的執(zhí)行過(guò)程為:語(yǔ)句的執(zhí)行過(guò)程為: (1)(1)計(jì)算并判斷表達(dá)式的值。若值為計(jì)算并判斷表達(dá)式的值。若值為0 0,則結(jié)束,則結(jié)束循環(huán),退出循環(huán),退出whilewhile語(yǔ)句;若值為非語(yǔ)句;若值為非0 0,則執(zhí)行循,則執(zhí)行循環(huán)

12、體。環(huán)體。 (2)(2)轉(zhuǎn)步驟轉(zhuǎn)步驟(1)(1)。while語(yǔ)句的執(zhí)行過(guò)程語(yǔ)句的執(zhí)行過(guò)程 執(zhí)行過(guò)程: 計(jì)算表達(dá)式并判斷循 環(huán) 體=0非0 #include void main(void) int a = 1, sum = 0; while(a = 100) sum += a; a+; printf(%d, sum); while語(yǔ)句語(yǔ)句-范例范例 100例例1:求求 n n=1注意注意“邊界值邊界值”的選擇的選擇!應(yīng)有使循環(huán)趨于應(yīng)有使循環(huán)趨于結(jié)束的語(yǔ)句!結(jié)束的語(yǔ)句! 例例2 2 利用輾轉(zhuǎn)相除法,求兩個(gè)正整數(shù)的最大公約數(shù)利用輾轉(zhuǎn)相除法,求兩個(gè)正整數(shù)的最大公約數(shù)算法:算法: (1 1) 若若j=0

13、j=0,則,則i i為最大公約數(shù)為最大公約數(shù) (2 2) 若若j j不為不為0 0 將將i i除以除以j j,余數(shù)為,余數(shù)為k k i=j i=j;j=kj=k 轉(zhuǎn)(轉(zhuǎn)(1 1) #include void main() int i, j, temp; printf(“Enter 2 integers:”); scanf(“%d%d”,&i,&j); while( j ) temp=i%j; i=j; j=temp; printf(“Gcd=%dn”,i); 例例3 將鍵盤輸入復(fù)制到屏幕,直到按下一個(gè)回車將鍵盤輸入復(fù)制到屏幕,直到按下一個(gè)回車鍵為止鍵為止.#include void main(

14、 ) char c; c=getchar( ); while(c!=n) putchar( c ); c=getchar( ); while語(yǔ)句的特點(diǎn):語(yǔ)句的特點(diǎn): 1、循環(huán)一般由條件控制、循環(huán)一般由條件控制 2、在循環(huán)體內(nèi)至少有一條語(yǔ)句能對(duì)循環(huán)、在循環(huán)體內(nèi)至少有一條語(yǔ)句能對(duì)循環(huán)條件產(chǎn)生影響,以防止死循環(huán)條件產(chǎn)生影響,以防止死循環(huán) while語(yǔ)句練習(xí)練習(xí)練習(xí):輸入一批整數(shù),以輸入一批整數(shù),以0為結(jié)束,輸出其中的為結(jié)束,輸出其中的最大值。最大值。分析:采用分析:采用“打擂臺(tái)打擂臺(tái)”的方法,即兩兩相比,的方法,即兩兩相比,大大 者留下,當(dāng)所有數(shù)比完時(shí)留下的那個(gè)數(shù)者留下,當(dāng)所有數(shù)比完時(shí)留下的那個(gè)數(shù)

15、為最大。程序用一個(gè)變量為最大。程序用一個(gè)變量max保存(留保存(留 下)每?jī)蓛上啾戎写蟮哪莻€(gè)數(shù)。下)每?jī)蓛上啾戎写蟮哪莻€(gè)數(shù)。 #include void main(void)int x,max;printf(“請(qǐng)輸入數(shù)字,輸入請(qǐng)輸入數(shù)字,輸入0結(jié)束結(jié)束:n);scanf(%d,&x);max=x;while(x)scanf(%d,&x);if(maxx) max=x;printf(max=%dn,max);1、功能:、功能:do-while語(yǔ)句一般完成直到型循環(huán),語(yǔ)句一般完成直到型循環(huán),2、格式為:、格式為:do 語(yǔ)句塊語(yǔ)句塊while(表達(dá)式)(表達(dá)式);3、do-while語(yǔ)句控制流程為:

16、先執(zhí)行一次循環(huán)體內(nèi)的語(yǔ)句,然語(yǔ)句控制流程為:先執(zhí)行一次循環(huán)體內(nèi)的語(yǔ)句,然后再求判終表達(dá)式的值,若判終表達(dá)式的值為后再求判終表達(dá)式的值,若判終表達(dá)式的值為“非非0”,則重,則重復(fù)執(zhí)行循環(huán)體,否則當(dāng)表達(dá)式的值為復(fù)執(zhí)行循環(huán)體,否則當(dāng)表達(dá)式的值為“0”時(shí),循環(huán)結(jié)束。時(shí),循環(huán)結(jié)束。4.3 do-while4.3 do-while循環(huán)循環(huán) 執(zhí)行過(guò)程: 計(jì)算表達(dá)式并判斷循 環(huán) 體=0非0#include void main(void) int i,sum=0; i=1; dosum=sum+i; i+; while(i=100); printf(“%d”,sum);do-while語(yǔ)句-范例 100例例1:

17、求求 n n=1無(wú)論表達(dá)式的值無(wú)論表達(dá)式的值是多少,循環(huán)體是多少,循環(huán)體至少執(zhí)行一次!至少執(zhí)行一次! 例例2 從鍵盤輸入一個(gè)字符,判別其是否為大從鍵盤輸入一個(gè)字符,判別其是否為大寫字母,如果是,則將其轉(zhuǎn)換為小寫字母并寫字母,如果是,則將其轉(zhuǎn)換為小寫字母并輸出;否則不轉(zhuǎn)換,不輸出;并提示是否繼輸出;否則不轉(zhuǎn)換,不輸出;并提示是否繼續(xù)輸入(按續(xù)輸入(按y繼續(xù))。繼續(xù))。#include #include void main() char ch, answer; do printf(“Enter a letter:”); ch=getchar( ); if(isupper(ch) printf(“%

18、c”,ch+a-A); getchar( ); printf(“ndo you want to try again?(y/other letter)”); answer=getchar( ); getchar( ); while (answer=Y | answer=y);do-whiledo-while語(yǔ)句與語(yǔ)句與whilewhile語(yǔ)句的本質(zhì)區(qū)別語(yǔ)句的本質(zhì)區(qū)別nwhilewhile語(yǔ)句是先計(jì)算并判斷表達(dá)式的值。若其語(yǔ)句是先計(jì)算并判斷表達(dá)式的值。若其值為非值為非 0 0,則執(zhí)行循環(huán)體;若其值為,則執(zhí)行循環(huán)體;若其值為0 0,則退,則退出循環(huán)。出循環(huán)。ndo-whiledo-while語(yǔ)句則首

19、先執(zhí)行循環(huán)體,然后再計(jì)算語(yǔ)句則首先執(zhí)行循環(huán)體,然后再計(jì)算并判斷表并判斷表 達(dá)式的值。因此,達(dá)式的值。因此,do-whiledo-while語(yǔ)句語(yǔ)句至至少要執(zhí)行一次循環(huán)體少要執(zhí)行一次循環(huán)體。4.4 跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句1_break語(yǔ)句語(yǔ)句 1. break語(yǔ)句的功能:用于從循環(huán)體內(nèi)跳出循環(huán)體,語(yǔ)句的功能:用于從循環(huán)體內(nèi)跳出循環(huán)體,即即提前結(jié)束提前結(jié)束循環(huán)。循環(huán)。2.使用要點(diǎn):使用要點(diǎn):break只能用在只能用在循環(huán)語(yǔ)句循環(huán)語(yǔ)句和和switch語(yǔ)句語(yǔ)句中中.for(r=1;r100) break; printf(“%f”,area); break語(yǔ)句語(yǔ)句-范例范例例例1:計(jì)算計(jì)算r=1到到r=10的

20、圓面積的圓面積,當(dāng)面積大于當(dāng)面積大于100時(shí)結(jié)束循環(huán)時(shí)結(jié)束循環(huán).break語(yǔ)句語(yǔ)句-范例范例break語(yǔ)句例語(yǔ)句例2: 某銀行利息某銀行利息2.8%(以復(fù)利計(jì))。假設(shè)以復(fù)利計(jì))。假設(shè)某儲(chǔ)戶存入本金某儲(chǔ)戶存入本金8000元,當(dāng)滿足以下條件之一,儲(chǔ)元,當(dāng)滿足以下條件之一,儲(chǔ)戶從銀行將錢取出。戶從銀行將錢取出。 (1)儲(chǔ)蓄滿)儲(chǔ)蓄滿10年年 (2)連本帶息超過(guò))連本帶息超過(guò)10000元元 編程求儲(chǔ)戶會(huì)在第幾年將錢取出,取出時(shí)連本帶息編程求儲(chǔ)戶會(huì)在第幾年將錢取出,取出時(shí)連本帶息是多少?是多少?#include void main(void) int year; float money=8000; fo

21、r(year=1;year10000) break; printf(“%d year %fn”,year,money);break語(yǔ)句例語(yǔ)句例3: 百雞問(wèn)題:一只公雞百雞問(wèn)題:一只公雞5元錢,一只母元錢,一只母雞雞3元錢,三只小雞元錢,三只小雞1元錢,現(xiàn)有元錢,現(xiàn)有100元錢,要買元錢,要買100只雞,是否可以?要求三種雞都有。只雞,是否可以?要求三種雞都有。分析:設(shè)公雞、母雞、小雞各分析:設(shè)公雞、母雞、小雞各x、y、z只,則可知只,則可知z=100-x-y,且,且 5x+3y+z/3=100 break語(yǔ)句語(yǔ)句-范例范例#include void main(void) int x,y,z;

22、for(x=1;x20;x+) for(y=1;y34;y+) z=100-x-y; if(z%3=0)&(5*x+3*y+z/3)=100) break; if(y34) printf(“cook=%d hen=%d chicken=%dn”,x,y,z); printf(“this is one solution.n”); break; 4.4 跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句2_ continue語(yǔ)句語(yǔ)句1、功能、功能:結(jié)束本次循環(huán)結(jié)束本次循環(huán),接著判定下一次是否執(zhí)行循環(huán)。接著判定下一次是否執(zhí)行循環(huán)。2、continue與與break的區(qū)別的區(qū)別:continue只結(jié)束本次循環(huán)只結(jié)束本次循環(huán),而不是終止

23、整個(gè)循環(huán)。而而不是終止整個(gè)循環(huán)。而break終止本層循環(huán),不再會(huì)去判斷執(zhí)行循環(huán)體的終止本層循環(huán),不再會(huì)去判斷執(zhí)行循環(huán)體的條件是否成立。條件是否成立。 例:把例:把100200之間的不能被之間的不能被3整除的數(shù)輸出整除的數(shù)輸出.#include void main(void) int n; for(n=100;n=200;n+) if (n%3=0) continue; printf(“%d”,n); 4.4 4.4 跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句3 goto3 goto語(yǔ)句語(yǔ)句gotogoto語(yǔ)句用于將控制轉(zhuǎn)到標(biāo)號(hào)所指定的語(yǔ)句去執(zhí)行。語(yǔ)句用于將控制轉(zhuǎn)到標(biāo)號(hào)所指定的語(yǔ)句去執(zhí)行。 它的一般格式為:它的一般格式為

24、: 或或: goto 標(biāo)號(hào);標(biāo)號(hào); 標(biāo)號(hào):語(yǔ)句標(biāo)號(hào):語(yǔ)句標(biāo)號(hào):語(yǔ)句標(biāo)號(hào):語(yǔ)句goto 標(biāo)號(hào);標(biāo)號(hào); 例:例: 100 #include 求求 n void main( ) n=1 int i,sum=0; i=1;運(yùn)行結(jié)果為運(yùn)行結(jié)果為:5050 loop :if (i=100) sum=sum+i; i+; goto loop; printf(“%d”,sum); 說(shuō)明:說(shuō)明:目前目前goto語(yǔ)句很少使用語(yǔ)句很少使用,過(guò)多的使用過(guò)多的使用goto語(yǔ)語(yǔ)句會(huì)降低程序的可讀性。句會(huì)降低程序的可讀性。4.5 4.5 循環(huán)的嵌套循環(huán)的嵌套多重循環(huán)多重循環(huán): : 嵌套多層循環(huán)結(jié)構(gòu)的循環(huán)。嵌套多層循環(huán)結(jié)構(gòu)的

25、循環(huán)。外循環(huán):外循環(huán): 處于外層的循環(huán)稱為外循環(huán)。處于外層的循環(huán)稱為外循環(huán)。內(nèi)循環(huán)內(nèi)循環(huán): 處于內(nèi)層的循環(huán)稱為內(nèi)循環(huán)。處于內(nèi)層的循環(huán)稱為內(nèi)循環(huán)。#include void main(void) int i,j;for(i=1;i=3;i+)for(j=1;j=8;j+)putchar(*);printf(n);例例 輸出圖形輸出圖形 * * *例例: : 編寫一個(gè)編寫一個(gè)九九乘法表九九乘法表的程序的程序分析:九九乘分析:九九乘法表分法表分9 9行行, ,第第i i行共行共i i個(gè)小項(xiàng)。個(gè)小項(xiàng)。i i* *j j i=1,2,9i=1,2,9j=1,2,ij=1,2,i#include void

26、 main(void) int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+)printf(“%1d*%1d=%-4d”,i,j,i*j); printf(“n”); 例例 輸出下面圖案輸出下面圖案 ABCDE BCDE CDE DE E #include void main() int i; char ch; for(i=0;i5;i+) for(ch=A+i;chA+5;ch+) printf(“%c”,ch); printf(“n”); 例例 求求1M1M之間的全部素?cái)?shù)之間的全部素?cái)?shù)( (素?cái)?shù)是除素?cái)?shù)是除1 1和本身以和本身以外不能被其他自然數(shù)整除的自然數(shù)外不能

27、被其他自然數(shù)整除的自然數(shù)) )#include #include void main() int n,m,i,j,l=0; scanf(“%d”,&m); for (n=2;n=m;n+) i=sqrt(n); for (j=2;j=i+1) if (l5) printf(“%dt”,n); l+; else printf(“%dn”,n); l=0; 應(yīng)用舉例應(yīng)用舉例應(yīng)用例應(yīng)用例1:輸入一行字符,分別統(tǒng)計(jì)其中字母、空格、輸入一行字符,分別統(tǒng)計(jì)其中字母、空格、數(shù)字及其他字符的個(gè)數(shù)。數(shù)字及其他字符的個(gè)數(shù)。分析:分析: 1 讀入一個(gè)字符到變量讀入一個(gè)字符到變量c 2 判斷判斷c是哪一類,再給相應(yīng)計(jì)數(shù)的變量加是哪一類,再給相應(yīng)計(jì)數(shù)的變量加1 3 重復(fù)重復(fù)1、2直到直到c等于等于n#include void main(void) int letter=0,space=0,digit=0,other=0; char c; while(c=getchar( )!=n)if(c=a&c=A&c=0&c=9) digit+; else other+; printf(“l(fā)etter=%d,space=%d,digit=%d,other=%dn”,letter, space,digi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論