5 循環(huán)結(jié)構(gòu)程序設(shè)計

5 循環(huán)結(jié)構(gòu)程序設(shè)計

ID:5994277

大?。?63.50 KB

頁數(shù):64頁

時間:2017-11-13

5 循環(huán)結(jié)構(gòu)程序設(shè)計_第1頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計_第2頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計_第3頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計_第4頁
5 循環(huán)結(jié)構(gòu)程序設(shè)計_第5頁
資源描述:

《5 循環(huán)結(jié)構(gòu)程序設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第5章循環(huán)結(jié)構(gòu)程序設(shè)計5.1概述為了方便地處理循環(huán)問題,C語言提供了3種用于循環(huán)控制的語句:while語句、do-while語句、for語句。5.2while語句一般形式為:while(表達(dá)式)循環(huán)體語句表達(dá)式語句非00例5.1求1+2+3+...+10的和。#include"stdio.h"voidmain(){inti=1,iSum=0;while(i<=10){iSum=iSum+i;printf("i=%2d,iSum=%2d",i,iSum);i++;}printf("1+2+3+...+10=

2、%d",iSum);}輸出結(jié)果:i=1,iSum=1i=2,iSum=3i=3,iSum=6i=4,iSum=10i=5,iSum=15i=6,iSum=21i=7,iSum=28i=8,iSum=36i=9,iSum=45i=10,iSum=551+2+3+...+10=55例5.2利用格里高利公式求π:π/4=1-1/3+1/5-1/7+...,直到最后一項的絕對值小于等于10-6為止。#include"stdio.h"#include"math.h"voidmain(){doublet=1.0,pi

3、=0.0;//t表示通項公式中的每一項longintn=1,s=1;//n表示每一項中的分母,s表示每一項的符號while(fabs(t)>1e-6){pi=pi+t;n=n+2;s=-s;t=(float)(s)/(float)(n);}pi=pi*4;printf("pi=%lf",pi);}輸出結(jié)果:pi=3.141591例5.3求兩個正整數(shù)的最大公約數(shù)。/*用Euclid(歐幾里得)算法求最大公約數(shù)*/#include"stdio.h"voidmain(){intm,n,r;printf("p

4、leaseinputtwopositiveintegers:");scanf("%d%d",&m,&n);r=m%n;//求余數(shù)while(r!=0){m=n;n=r;r=m%n;}printf("Theirgreatestcommondivisoris%d.",n);}輸出結(jié)果:pleaseinputtwopositiveintegers:6424Theirgreatestcommondivisoris8.例5.4跳過輸入字符中的空白字符,輸出第一個非空白字符。#include"stdio.h"void

5、main(){charc;while((c=getchar())==''

6、

7、c=='t'

8、

9、c=='');putchar(c);putchar('');}例5.5不用空語句實現(xiàn)的例5.4。5.3do-while語句一般形式為:do循環(huán)體語句while(表達(dá)式);語句表達(dá)式?0非0例5.6求1+2+3+...+10的和。#include"stdio.h"voidmain(){inti=1,iSum=0;do{iSum=iSum+i;printf("i=%2d,iSum=%2d",i,iSum);i

10、++;}while(i<=10);printf("1+2+3+...+10=%d",iSum);}輸出結(jié)果:i=1,iSum=1i=2,iSum=3i=3,iSum=6i=4,iSum=10i=5,iSum=15i=6,iSum=21i=7,iSum=28i=8,iSum=36i=9,iSum=45i=10,iSum=551+2+3+...+10=55例5.7將一個給定的整數(shù)反序輸出。#include"stdio.h"voidmain(){inti,r;printf("Inputaninteger:"

11、);scanf("%d",&i);if(i<0){printf("-");//如果i是負(fù)整數(shù),輸出時首先加一個負(fù)號i=-i;//然后對i取負(fù),得到它的絕對值}do{r=i%10;//提取出當(dāng)前i的個位數(shù)字printf("%d",r);}while((i=i/10)!=0);//去掉當(dāng)前i的個位數(shù)字,并判斷這個新值是否為0printf("");}輸出結(jié)果:Inputaninteger:19833891例5.8/*用while循環(huán)將一個給定的整數(shù)反序輸出*/#include"stdio.h"voidmain(

12、){inti,r;printf("Inputaninteger:");scanf("%d",&i);if(i<0){printf("-");//如果i是負(fù)整數(shù),輸出時首先加一個負(fù)號i=-i;//然后對i取負(fù),得到它的絕對值}if(i==0)printf("%d",i);while(i!=0){r=i%10;printf("%d",r);i=i/10;}printf("");}注意:循環(huán)體的有

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

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

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