《循環(huán)結構程序設計》ppt課件_第1頁
《循環(huán)結構程序設計》ppt課件_第2頁
《循環(huán)結構程序設計》ppt課件_第3頁
《循環(huán)結構程序設計》ppt課件_第4頁
《循環(huán)結構程序設計》ppt課件_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六1 1第第5 5章章 循環(huán)構造程序設計循環(huán)構造程序設計教學要求:教學要求: 經過本章的學習要求學生掌握循環(huán)構造的三經過本章的學習要求學生掌握循環(huán)構造的三種語句的根本語法及循環(huán)執(zhí)行過程;掌握種語句的根本語法及循環(huán)執(zhí)行過程;掌握breakbreak語語句和句和continuecontinue語句在循環(huán)控制語句的功能;能運用語句在循環(huán)控制語句的功能;能運用循環(huán)構造語句進展普通的程序設計。循環(huán)構造語句進展普通的程序設計。教學內容:教學內容: 5.1 while 5.1 while語句語句 5.2

2、 do-while 5.2 do-while語句語句 5.3 for 5.3 for語句語句 5.4 break 5.4 break語句和語句和continuecontinue語句語句 5.5 5.5 循環(huán)嵌套構造循環(huán)嵌套構造 5.6 5.6 程序設計舉例程序設計舉例第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六2 2問題:要求在屏幕上按行打印問題:要求在屏幕上按行打印1 11010??刹捎庙樞驑嬙鞂懣刹捎庙樞驑嬙鞂?010行代碼實現。程序代碼如下:行代碼實現。程序代碼如下:printf(%dn,1 );printf(%dn,1 )

3、;printf(%dn,2 );printf(%dn,2 );printf(%dn,3 );printf(%dn,3 );printf(%dn,4 );printf(%dn,4 );printf(%dn,5 );printf(%dn,5 );printf(%dn,6 );printf(%dn,6 );printf(%dn,7 );printf(%dn,7 );printf(%dn,8 ); printf(%dn,8 ); printf(%dn,9 );printf(%dn,9 );printf(%dn,10 ); printf(%dn,10 ); int i=1; int i=1; print

4、f(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+;

5、 printf(%dn,i);i+; printf(%dn,i); printf(%dn,i);修正為修正為第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六3 3問題:要求在屏幕上按行打印問題:要求在屏幕上按行打印1 11010。 int i=1; int i=1; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn

6、,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i);i+; printf(%dn,i); printf(%dn,i);能否將反復的語句合并?能否將反復的語句合并?#includestdio.h#includestdio.hint main()int main() int i=1;in

7、t i=1;while(i=10)while(i=10) printf(%dn,i); printf(%dn,i); i+; i+; return 0;return 0; 第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六4 4循環(huán)語句的三種構造:循環(huán)語句的三種構造:一、當型循環(huán)的普通方式:一、當型循環(huán)的普通方式: while( while(表達式表達式) )語句語句; ;二、直到型循環(huán)的普通方式:二、直到型循環(huán)的普通方式: do do 語句語句 while( while(表達式表達式););三、三、forfor循環(huán)語句的普通方式:循環(huán)

8、語句的普通方式: for( for(表達式表達式1;1;表達式表達式2;2;表達式表達式3)3) 語句;語句;2021.10.202021.10.201313建筑本建筑本3-43-46 6第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六5 55.1 while5.1 while語句語句1.while1.while語句的方式語句的方式while (while (表達式表達式) ) 循環(huán)體循環(huán)體 表達式:是循環(huán)能進展的條件,可以是任表達式:是循環(huán)能進展的條件,可以是任何類型的,普通是關系表達式或邏輯表達何類型的,普通是關系表達式或邏輯表達

9、式或其組合。式或其組合。循環(huán)體:是反復執(zhí)行的程序段,可以是單循環(huán)體:是反復執(zhí)行的程序段,可以是單條語句,也可以是復合語句,假設是復合條語句,也可以是復合語句,假設是復合語句,必需用一對花括號語句,必需用一對花括號“ “ 括起來。括起來。第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六6 62.while2.while語句的執(zhí)行過程語句的執(zhí)行過程首先計算表達式的值,假設為真非首先計算表達式的值,假設為真非0 0,執(zhí)行循環(huán)體,再判別,執(zhí)行循環(huán)體,再判別表達式。假設表達式的值為假表達式。假設表達式的值為假0 0,終了循環(huán),執(zhí)行,終了循環(huán),執(zhí)

10、行whilewhile語語句后面的語句。句后面的語句。whilewhile語句的執(zhí)行流程圖如下:語句的執(zhí)行流程圖如下:whilewhile語句的特點是:語句的特點是:先判別表達式,為真才執(zhí)行循環(huán)體語句,先判別表達式,為真才執(zhí)行循環(huán)體語句,否那么不執(zhí)行。否那么不執(zhí)行。第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六7 73.while3.while語句的運用語句的運用【例題【例題5.15.1】用】用whilewhile語句求語句求1+2+3+1001+2+3+100的和。的和。算法分析:程序分成算法分析:程序分成3 3部分:初始化;求和

11、;輸出部分:初始化;求和;輸出步驟步驟1 1: sum=0 sum=0;步驟步驟2.12.1: sum=sum+1 sum=sum+1;步驟步驟2.22.2: sum=sum+2 sum=sum+2;步驟步驟2.32.3: sum=sum+3 sum=sum+3; 步驟步驟2.992.99: sum=sum+99 sum=sum+99;步驟步驟2.1002.100:sum=sum+100sum=sum+100;步驟步驟3 3:輸出:輸出sumsum步驟步驟1 1: sum=0 sum=0,i=1i=1;步驟步驟2.12.1: sum=sum+i sum=sum+i;i+i+;步驟步驟2.22.

12、2: sum=sum+i sum=sum+i;i+i+;步驟步驟2.32.3: sum=sum+i sum=sum+i;i+i+; 步驟步驟2.992.99: sum=sum+i sum=sum+i;i+i+;步驟步驟2.1002.100:sum=sum+isum=sum+i;i+i+;步驟步驟3 3:輸出:輸出sumsum優(yōu)化優(yōu)化第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六8 8算法分析:程序分成算法分析:程序分成3 3部分:初始化;求和;輸出部分:初始化;求和;輸出步驟步驟1 1: 定義定義i=1i=1和和sum=0sum=0

13、;步驟步驟2.1:2.1:假設假設i=100,i100i100時時, ,終了求累加和。循環(huán)條件終了求累加和。循環(huán)條件是是i=100i100i100時時, ,終了求累加和。循環(huán)條件是終了求累加和。循環(huán)條件是i=100i=100即表達式即表達式2 2,表達式,表達式1 1就是對變就是對變量量i i賦的初值賦的初值1 1,循環(huán)體是求累加和,循環(huán)體是求累加和sum=sum+isum=sum+i。實現算法的流程圖如圖。實現算法的流程圖如圖所示。所示。程序代碼:程序代碼:第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六16 164.for4.fo

14、r語句的變形語句的變形forfor語句的變形語句的變形forfor語句中的表達式可以省略,但分號不省略語句中的表達式可以省略,但分號不省略forfor語句中的表達式可以是逗號表達式語句中的表達式可以是逗號表達式forfor語句中的循環(huán)體可以是空語句語句中的循環(huán)體可以是空語句for(sum=0, i=1; i=100; i+)for(sum=0, i=1; i=100; i+)sum=sum+i;sum=sum+i;for(sum=0, i=1; i=100; sum+=i, i+)for(sum=0, i=1; i=100; sum+=i, i+) ; ;省略表達式省略表達式1 1省略表達式省

15、略表達式3 3省略表達式省略表達式1 1和表達式和表達式3 3省略表達式省略表達式1 1、表達式、表達式2 2和表達式和表達式3(3(如何控制循環(huán)如何控制循環(huán)) )第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六17 175.4 for5.4 for語句與語句與whilewhile語句和語句和do-whiledo-while語句比較語句比較3 3種循環(huán)構造語句都能處置同樣的問題,可以相互交換。其中種循環(huán)構造語句都能處置同樣的問題,可以相互交換。其中forfor語句主要用在循環(huán)次數知情況下,語句主要用在循環(huán)次數知情況下,whilewhi

16、le語句和語句和do-whiledo-while語語句普通用在循環(huán)次數在循環(huán)過程中才干確定的情形。句普通用在循環(huán)次數在循環(huán)過程中才干確定的情形。whilewhile語句和語句和do-whiledo-while語句處置問題較相近,語句處置問題較相近, while while語句是先判語句是先判別循環(huán)條件,后執(zhí)行循環(huán)體;別循環(huán)條件,后執(zhí)行循環(huán)體;do-whiledo-while語句是先執(zhí)行循環(huán)體,語句是先執(zhí)行循環(huán)體,后判別循環(huán)條件。后判別循環(huán)條件。forfor語句與語句與whilewhile語句和語句和do-whiledo-while語句,從方式上看有區(qū)別,但語句,從方式上看有區(qū)別,但本質是一樣的

17、。本質是一樣的。forfor語句與語句與whilewhile語句的執(zhí)行順序是一樣的。語句的執(zhí)行順序是一樣的。第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六18 185.5 break5.5 break語句與語句與continuecontinue語句語句程序中語句通常按語句功能所定義的方向執(zhí)行?,F實程序中語句通常按語句功能所定義的方向執(zhí)行?,F實中往往需求改動程序的正常流向,那么中往往需求改動程序的正常流向,那么C C言語提供了輔言語提供了輔助控制語句助控制語句breakbreak語句與語句與continuecontinue語句。語句。

18、5.5.1 break5.5.1 break語句語句根本方式根本方式 break break;功能:退出當前循環(huán)或當前功能:退出當前循環(huán)或當前switchswitch構造,提早終了本構造,提早終了本層循環(huán)或本層層循環(huán)或本層switchswitch構造。構造。只能在循環(huán)構造內和只能在循環(huán)構造內和switchswitch構造內運用構造內運用breakbreak語句,不語句,不得用于其他地方。作用是跳出當前循環(huán)或當前得用于其他地方。作用是跳出當前循環(huán)或當前switchswitch構造。構造。第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六1

19、9 19【例題【例題5.55.5】在全系】在全系10001000名學生中,征名學生中,征集慈悲募捐集慈悲募捐, ,當募捐款到達當募捐款到達1010萬元時就萬元時就停頓募捐活動,統(tǒng)計此時捐款的人數,停頓募捐活動,統(tǒng)計此時捐款的人數,以及平均每人捐款的數目。算法分析:以及平均每人捐款的數目。算法分析:學生捐款是個累加過程但累加到學生捐款是個累加過程但累加到1010萬元萬元停頓。這一過程中要處置:學生捐款數停頓。這一過程中要處置:學生捐款數、累加捐款數、判別累加捐款數到達、累加捐款數、判別累加捐款數到達1010萬沒有這三件事即循環(huán)不變式。當累加萬沒有這三件事即循環(huán)不變式。當累加捐款到達捐款到達101

20、0萬元,停頓募捐活動即提早萬元,停頓募捐活動即提早終了循環(huán)。實現算法流程圖:終了循環(huán)。實現算法流程圖:程序代碼:程序代碼:第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六2020#include #define SUM 100000int main()float amount,aver,total; int i; for(i=1,total=0;i=SUM) break; aver=total / i ; printf(num=%dnaver=%10.2fn ,i,aver); return 0;please enter amount

21、:12000please enter amount:24600please enter amount:3200please enter amount:5643please enter amount:21900please enter amount:12345please enter amount:23000num=7aver=14669.71第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六21 215.5.2 continue5.5.2 continue語句語句根本方式:根本方式: continue continue;功能:功能:co

22、ntinuecontinue語句作用是終了本次語句作用是終了本次循環(huán)即跳過本次循環(huán)體中其他未執(zhí)行循環(huán)即跳過本次循環(huán)體中其他未執(zhí)行的語句,提早進展下一次循環(huán)。的語句,提早進展下一次循環(huán)。continuecontinue語句只能用在語句只能用在forfor、whilewhile和和do-whiledo-while循環(huán)體中,常與循環(huán)體中,常與ifif語句一同語句一同運用,用來加速循環(huán)。運用,用來加速循環(huán)?!纠}【例題5.65.6】編寫程序:求】編寫程序:求100100200200之之間的不能被間的不能被3 3整除的數,并按每行整除的數,并按每行1010個個數的格式輸出。數的格式輸出。算法分析:算法分

23、析:n%3n%3,為,為0 0,不輸出用,不輸出用continuecontinue實現;不為實現;不為0 0輸出用輸出用printfprintf實實現。實現算法流程圖:現。實現算法流程圖:程序代碼:程序代碼:#include stdio.h#include stdio.hvoid main( )void main( )int n;int n; for(n=100;n=200;n+) for(n=100;n=200;n+) if(n%3=0) if(n%3=0) printf(n);continue; printf(n);continue; printf(%5d,n); printf(%5d,n

24、); 2021.11.32021.11.31313建筑本建筑本3-43-47 7第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六22225.5.3 break5.5.3 break語句和語句和continuecontinue語句的區(qū)別語句的區(qū)別continuecontinue語句只終了本次循環(huán),然后進展下一次循環(huán);語句只終了本次循環(huán),然后進展下一次循環(huán);breakbreak:退出包含它的那一層循環(huán)。:退出包含它的那一層循環(huán)。闡明:闡明:breakbreak和和continuecontinue語句普通和語句普通和ifif語句結合運用,假

25、設在語句結合運用,假設在循環(huán)體內單獨運用將無循環(huán)體內單獨運用將無任何意義。任何意義。#include stdio.h#include stdio.hvoid main( )void main( )int n;int n; for(n=100;n=200;n+) for(n=100;n=200;n+) if(n%3=0) if(n%3=0) printf(n);break; printf(n);break; printf(%5d,n); printf(%5d,n); 第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六23235.6 5.6

26、 循環(huán)的嵌套構造循環(huán)的嵌套構造循環(huán)的嵌套是指在一個循環(huán)體內又包含一個或循環(huán)的嵌套是指在一個循環(huán)體內又包含一個或幾個的循環(huán)體構造的方式。普通來說有雙重循幾個的循環(huán)體構造的方式。普通來說有雙重循環(huán)嵌套和多重循環(huán)嵌套。環(huán)嵌套和多重循環(huán)嵌套。whilewhile、do-whiledo-while、forfor三種循環(huán)可相互嵌套,也可是本人的嵌套。三種循環(huán)可相互嵌套,也可是本人的嵌套。內循環(huán)必需被包含在外循環(huán)體之內,不允許出內循環(huán)必需被包含在外循環(huán)體之內,不允許出現交叉景象。同窗們分析以下循環(huán)嵌套構造的現交叉景象。同窗們分析以下循環(huán)嵌套構造的合法性。合法性。whilewhiledodoWhile Whi

27、le forforforforforfordodowhilewhile 合法合法 合法合法 非法交叉非法交叉第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六24245.6.1 5.6.1 雙重循環(huán)的嵌套雙重循環(huán)的嵌套雙重循環(huán)即只需兩層循環(huán):內循環(huán)和外循環(huán)。雙重循環(huán)即只需兩層循環(huán):內循環(huán)和外循環(huán)。雙重循環(huán)的執(zhí)行過程是:首先從外層循環(huán)開場雙重循環(huán)的執(zhí)行過程是:首先從外層循環(huán)開場執(zhí)行,外層循環(huán)每執(zhí)行一次,暫停,轉去執(zhí)行執(zhí)行,外層循環(huán)每執(zhí)行一次,暫停,轉去執(zhí)行內層循環(huán),內層循環(huán)要將一切規(guī)定的循環(huán)次數內層循環(huán),內層循環(huán)要將一切規(guī)定的循環(huán)次數全部

28、執(zhí)行終了,前往外層循環(huán),外層循環(huán)才干全部執(zhí)行終了,前往外層循環(huán),外層循環(huán)才干開場下一次循環(huán),依此類推開場下一次循環(huán),依此類推第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六25251.1.外層循環(huán)變量與內層循環(huán)變量相互獨立外層循環(huán)變量與內層循環(huán)變量相互獨立【例題【例題5.75.7】 編寫程序:輸出以下編寫程序:輸出以下4 45 5的矩陣。的矩陣。1 2 3 4 51 2 3 4 52 4 6 8 102 4 6 8 103 6 9 12 153 6 9 12 154 8 12 16 204 8 12 16 20算法分析:定義兩個變量算

29、法分析:定義兩個變量i,ji,j分別控制行,列。分別控制行,列。輸出輸出1 1行后,回車再輸出下行后,回車再輸出下1 1行,在輸出行的過行,在輸出行的過程中又要輸出程中又要輸出5 5列的元素值,每個元素值列的元素值,每個元素值= =元素元素所在行值所在行值* *元素所在列值。因此外循環(huán)控制行,元素所在列值。因此外循環(huán)控制行,內循環(huán)控制列。實現算法流程圖:內循環(huán)控制列。實現算法流程圖:程序代碼:程序代碼:第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六2626#include int main()int i,j,n=0;for (i=1

30、;i=4;i+) for (j=1;j=5;j+,n+) if (n%5=0) printf (n); printf (%dt,i*j); printf(n);return 0;iji*jn11102213324435546521224636748851096103132611391241213515146154142816312174161852019第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六2727【例題【例題5.85.8】設計輸出如下九九乘法表的程序?!吭O計輸出如下九九乘法表的程序。算法分析算法分析: :乘法表共乘法表共9

31、 9行行, ,第第n n行就有行就有n n個式子個式子, ,每個式每個式子與所在行子與所在行, ,列有關。列有關。#include stdio.h#include stdio.hint main( )int main( )int i,j;int i,j;for(i=1;i=9;i+)for(i=1;i=9;i+)for(j=1;j=i;j+) printf(%dfor(j=1;j=i;j+) printf(%d* *%d=%d, %d=%d, ,j,i,j,j,i,j* *i);i);printf(n); printf(n); return 0;return 0; i ji*j1 11*1=1

32、2 1,21*2=2,2*2=43 1,2,31*3=3,2*3=6,3*3=94 1,2,3,41*4=4,2*4=8,3*4=12,4*4=165 1,2,3,4,51*5=5,2*5=10,3*5=15,4*5=20,5*5=256 1,2,3,4,5,61*6=6,2*6=12,3*6=18,4*6=24,5*6=30,6*6=36,7 1,2,3,4,5,6,71*7=7,2*7=14,3*7=21,4*7=28,5*7=35,6*7=42,7*7=498 1,2,3,4,5,6,7,81*8=8,2*8=16,3*8=24,4*8=32,5*8=40,6*8=48,7*8=56,8

33、*8=649 1,2,3,4,5,6,7,8,91*9=9,2*9-18,3*9=27,4*9=36,5*9=45,6*9=54,7*9=63,8*9=72,9*9=81第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六28285.6.2 5.6.2 多重循環(huán)的嵌套多重循環(huán)的嵌套多重循環(huán)是指兩層及兩層以上的循環(huán)構造。多重循環(huán)是指兩層及兩層以上的循環(huán)構造。【例題【例題5.95.9】編寫程序:用】編寫程序:用1 1、2 2、3 3、4 4四個數字四個數字, ,能組成多少個互不一樣且無反復數字的三位數?能組成多少個互不一樣且無反復數字的三位數

34、?并按每行并按每行1010個輸出。個輸出。算法分析:組成的三位數的百位、十位、個位算法分析:組成的三位數的百位、十位、個位分別是給定的四個數中之一。可定義表示百位、分別是給定的四個數中之一??啥x表示百位、十位和個位的變量分別是十位和個位的變量分別是i,j,k,i,j,k,它們的取值分它們的取值分別是別是1 1到到4 4中其一,但它們互不相等。這種算法中其一,但它們互不相等。這種算法稱窮舉法或測試法。稱窮舉法或測試法。程序代碼:程序代碼:第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六2929有有1 1、2 2、3 3、4 4四個數字

35、,能組成多少個互不一樣且無反復數字四個數字,能組成多少個互不一樣且無反復數字的三位數,并輸出它們的結果。的三位數,并輸出它們的結果。算法分析:填在百位、十位、個位的數字由算法分析:填在百位、十位、個位的數字由1 1、2 2、3 3、4 4組成,組成,可設三個變量;可設三個變量;i i表示百位,表示百位,j j表示十位表示十位,k,k表示個位,它們分別取表示個位,它們分別取值從值從1-41-4,經過循環(huán)列出一切能夠的組合。,經過循環(huán)列出一切能夠的組合。#include stdio.h#include stdio.hint main( )int main( )int i,j,k;int i,j,k

36、;for(i=1;i5;i+)for(i=1;i5;i+)for(j=1;j5;j+)for(j=1;j5;j+)for(k=1;k5;k+)for(k=1;k=1e-6)while(fabs(t) =1e-6)pi=pi+t; n=n+2;s=-s; pi=pi+t; n=n+2;s=-s; t=s/n;t=s/n;pi=pipi=pi* *4; 4; printf(pi=%10.6fn,pi);printf(pi=%10.6fn,pi); 運轉結果運轉結果: : pi=3.147 pi=3.147第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日

37、星期六日星期六3232【例題【例題5.125.12】編寫程序】編寫程序: :經過鍵盤輸入恣意經過鍵盤輸入恣意一個整數,要求反序輸出該整數。一個整數,要求反序輸出該整數。算法分析:假設輸入一個算法分析:假設輸入一個1234512345,那么要,那么要求反序輸出求反序輸出5432154321,可采用以下方法實現。,可采用以下方法實現。第第1 1步:步:12345%10=5 12345/10=123412345%10=5 12345/10=1234第第2 2步:步:1234%10 =4 1234/10=1231234%10 =4 1234/10=123第第3 3步:步:123%10 =3 123/1

38、0=12123%10 =3 123/10=12第第4 4步:步:12%10 =2 12/10=112%10 =2 12/10=1第第5 5步:步:1%10 =1 1/10=01%10 =1 1/10=0經過經過5 5步就可以將一個步就可以將一個5 5位數拆分開來,并位數拆分開來,并且每一步所做操作一樣即先除且每一步所做操作一樣即先除1010取余,然取余,然后再除后再除1010取整,這就是循環(huán)不變式,到第取整,這就是循環(huán)不變式,到第5 5步整除步整除1010結果為結果為0 0時,一切的數拆分完,時,一切的數拆分完,闡明循環(huán)能進展的條件是被闡明循環(huán)能進展的條件是被1010整除的數不整除的數不為為0 0。程序代碼:程序代碼:7 72021.11.52021.11.51313建筑本建筑本3-43-48 8第第5 5章章 循環(huán)結構程序設計循環(huán)結構程序設計20212021年年11 11月月13 13日星期六日星期六3333#include #include int main()int main()int n1,n2; int n1,n2; printf(input to n2n);printf(input to n2n);scanf(%d,&n2);scanf(%d,&n2);while(n2!=0)while(n2!=0)n1=n2%10;

溫馨提示

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

評論

0/150

提交評論