




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、共 42 頁 第 1 1 頁第六章共 42 頁 第 2 2 頁本章要點(diǎn)本章要點(diǎn) 建立循環(huán)程序設(shè)計的基本概念和邏輯思維建立循環(huán)程序設(shè)計的基本概念和邏輯思維 掌握循環(huán)程序設(shè)計的方法掌握循環(huán)程序設(shè)計的方法共 42 頁 第 3 3 頁什么是循環(huán)?什么是循環(huán)?為什么要使用循環(huán)?為什么要使用循環(huán)?l循環(huán)是有規(guī)律的重復(fù)操作。循環(huán)是有規(guī)律的重復(fù)操作。將復(fù)雜問題將復(fù)雜問題分解分解為簡單的操作過程,程序只對簡單過程描述,為簡單的操作過程,程序只對簡單過程描述,這些過程的多次這些過程的多次重復(fù)重復(fù)就可完成對問題的求解。就可完成對問題的求解。重復(fù)的頻繁性決定了循環(huán)在程序設(shè)計中必不可重復(fù)的頻繁性決定了循環(huán)在程序設(shè)計中必
2、不可少!少!1001nyn問題問題1 1:問題問題2 2:問題問題3 3:問題分解問題分解循環(huán)控制循環(huán)控制共 42 頁 第 4 4 頁l if-goto 循環(huán)循環(huán)l while循環(huán)循環(huán)l for循環(huán)循環(huán)l do while循環(huán)循環(huán) 先判斷后循環(huán)先判斷后循環(huán) 先循環(huán)后判斷先循環(huán)后判斷 特點(diǎn):特點(diǎn):難點(diǎn):難點(diǎn): C提供四種循環(huán)控制:提供四種循環(huán)控制:共 42 頁 第 5 5 頁一般形式:一般形式: goto 標(biāo)號標(biāo)號; 標(biāo)號:語句標(biāo)號:語句 其中:其中:標(biāo)號用標(biāo)識符表示,即由字母、數(shù)字和下劃標(biāo)號用標(biāo)識符表示,即由字母、數(shù)字和下劃線組成,且首字符必須為字母或下劃線線組成,且首字符必須為字母或下劃線。
3、不不能用整數(shù)作標(biāo)號。能用整數(shù)作標(biāo)號。用途:用途:1. 與與if語句一起構(gòu)成循環(huán)結(jié)構(gòu)。語句一起構(gòu)成循環(huán)結(jié)構(gòu)。2. 從循環(huán)體中跳到循環(huán)體外從循環(huán)體中跳到循環(huán)體外(一般指最深層)。一般指最深層)。3. 改變程序自上而下的執(zhí)行順序。改變程序自上而下的執(zhí)行順序。缺點(diǎn):濫用缺點(diǎn):濫用goto語句,可使程序無規(guī)律、可讀性差。語句,可使程序無規(guī)律、可讀性差。共 42 頁 第 6 6 頁 #include stdio.h main( ) int i=1,s=0;L1: if(i=100) s=s+i; i+ ; goto L1; printf(s=%dn,s); i=100開始i=1,s=0s=s+i ,i+零
4、零非零非零結(jié)束輸出s 求和求和 s=1+2+100運(yùn)行結(jié)果運(yùn)行結(jié)果: S=?共 42 頁 第 7 7 頁1.while1.while循環(huán)語句的形式循環(huán)語句的形式 whilewhile(表達(dá)式)語句(表達(dá)式)語句 先判斷條件,后執(zhí)行語句先判斷條件,后執(zhí)行語句表達(dá)式語句零零非零非零2.2.執(zhí)行過程執(zhí)行過程注意注意: :v 循環(huán)體若包含一個以上循環(huán)體若包含一個以上語句,應(yīng)該用花括號括起語句,應(yīng)該用花括號括起來來( (使用復(fù)合語句使用復(fù)合語句) )。v 循環(huán)體內(nèi)應(yīng)注意設(shè)置修循環(huán)體內(nèi)應(yīng)注意設(shè)置修改循環(huán)條件的語句。否則改循環(huán)條件的語句。否則循環(huán)無法終止。循環(huán)無法終止。v 如果表達(dá)式的值第一次如果表達(dá)式的值
5、第一次計算就等于計算就等于0 0,則循環(huán)體一,則循環(huán)體一次也不執(zhí)行。次也不執(zhí)行。共 42 頁 第 8 8 頁 求求1001nni=1,sum=0i=100?sum=sum+ii=i+1零零非零非零#include stdio.hmain() int i=1,sum=0; while (i=100) sum=sum+i; i+; printf(%d,sum);思考:刪除思考:刪除i+;i+;后果?后果? 調(diào)換調(diào)換i+;i+;與求和語句的后果?與求和語句的后果?共 42 頁 第 9 9 頁 輸出華氏輸出華氏- -攝氏溫度轉(zhuǎn)換表攝氏溫度轉(zhuǎn)換表華氏溫度華氏溫度3030 3535之間的每一度都轉(zhuǎn)換之間的
6、每一度都轉(zhuǎn)換成相應(yīng)的攝氏溫度。成相應(yīng)的攝氏溫度。轉(zhuǎn)換公式:轉(zhuǎn)換公式:C=5C=5* *(F-32F-32)/9/9F=35開始F=30C=5C=5* *(F-32F-32)/9/9零零非零非零結(jié)束輸出 F CF=F+1F=F+1#include stdio.h main() int F; float C; F=30; while(F=35) C= 5 5* *(F-32)/9.0;(F-32)/9.0; printf(F=%d C= %f n, F,C) ; F=F+1; 共 42 頁 第 1010 頁 輸出華氏輸出華氏- -攝氏溫度轉(zhuǎn)換表攝氏溫度轉(zhuǎn)換表運(yùn)行結(jié)果運(yùn)行結(jié)果 F C30 -1.13
7、1 -0.632 0.033 0.634 1.135 1.7共 42 頁 第 1111 頁 輸入一批正數(shù),輸入輸入一批正數(shù),輸入0時表示輸入結(jié)束,時表示輸入結(jié)束,求這些正數(shù)的和。求這些正數(shù)的和。#include stdio.h main( ) int s=0, x; scanf(%d,&x); while( x!=0 ) s=s+x; scanf(%d,&x); printf(s=%dn,s); 零零非零非零x!=0開始s=0s=s+x結(jié)束輸出s輸入正數(shù)x輸入正數(shù)x思考:取消循環(huán)內(nèi)的輸入語句后果?思考:取消循環(huán)內(nèi)的輸入語句后果? 共 42 頁 第 1212 頁1. dowhil
8、e1. dowhile循環(huán)語句的形式循環(huán)語句的形式 do do 語句語句 while(while(表達(dá)式)表達(dá)式); 先執(zhí)行語句,后判斷條件先執(zhí)行語句,后判斷條件 2. 執(zhí)行過程執(zhí)行過程說明:說明:(1 1)dowhiledowhile循環(huán)語句循環(huán)語句首先執(zhí)行循環(huán)體,然后計首先執(zhí)行循環(huán)體,然后計算表達(dá)式并檢查循環(huán)條件,算表達(dá)式并檢查循環(huán)條件,所以所以循環(huán)體至少執(zhí)行一次。循環(huán)體至少執(zhí)行一次。(2 2)退出)退出dowhiledowhile循環(huán)循環(huán)的條件與退出的條件與退出whilewhile循環(huán)的循環(huán)的條件相同。條件相同。表達(dá)式語句零零非零非零6.3 dowhile6.3 dowhile循環(huán)語句循
9、環(huán)語句共 42 頁 第 1313 頁表達(dá)式=0?語句零零非零非零i=n?s=s*ii=i+1i=1,s=1輸入n 用用do-while型循環(huán)求型循環(huán)求n!S=123(n-1) n#include main() int i=1,n ; long s=1; scanf( %d ,&n); do s*=i; i+; while (i=n) ; printf(%d!=%ldn,n,s); 不能省略共 42 頁 第 1414 頁 用迭代法求用迭代法求a的算數(shù)平方根。公式的算數(shù)平方根。公式 :xn=0.5*(xn-1+a/xn-1) 確定初值為確定初值為x0, 取取a/2為為x0的初值,迭代結(jié)束條
10、件的初值,迭代結(jié)束條件:|x1-x0|=10-5.#include #include main()float a,x0,x1; scanf(%f,&a); x1=a/2; do x0=x1; x1=(x0+a/x0)/2; while (fabs(x1-x0)1e-5); printf(squrt(a)=%fn,x1);表達(dá)式=0?語句零零非零非零 |x1-x0|10-5 ?x0=x1x1=(x0+a/x0)/2輸入ax1=a/2輸出a,x1共 42 頁 第 1515 頁注意注意: :當(dāng)當(dāng)whilewhile后的表達(dá)式為后的表達(dá)式為真真時,時,whilewhile語句和語句和dowhi
11、ledowhile語句的結(jié)果相同,否則不同。語句的結(jié)果相同,否則不同。main( )int i , s=0;scanf(%d,&i); while(i=10) s=s+i; i+; printf(s=%dn, s); 輸入:輸入:1 打印:打?。?5輸入:輸入:11 打?。捍蛴。?main( )int i , s=0; scanf(%d&i); do s=s+i; i+; while(i=10) ; printf(s=%dn, s); 輸入:輸入:1 打印:打?。?5 輸入:輸入:11 打?。捍蛴。?1共 42 頁 第 1616 頁1.for1.for循環(huán)語句的形式循環(huán)語句的形
12、式 forfor( 表達(dá)式表達(dá)式11; 表達(dá)式表達(dá)式22; 表達(dá)式表達(dá)式33)語句)語句表達(dá)式2表達(dá)式1語句表達(dá)式3零零非零非零2. 執(zhí)行過程執(zhí)行過程說明:說明:(1)(1)計算表達(dá)式計算表達(dá)式1;1;(2)(2)計算表達(dá)式計算表達(dá)式2 2,值非零執(zhí)行,值非零執(zhí)行循環(huán)體,計算表達(dá)式循環(huán)體,計算表達(dá)式3 3,重復(fù),重復(fù)(3)(3)表達(dá)式表達(dá)式1 1僅被執(zhí)行一次;表僅被執(zhí)行一次;表達(dá)式達(dá)式2 2決定了是否繼續(xù)執(zhí)行循環(huán)決定了是否繼續(xù)執(zhí)行循環(huán); ;表達(dá)式表達(dá)式3 3則不斷修改循環(huán)控制變則不斷修改循環(huán)控制變量的值。量的值。(4)(4)三個表達(dá)式均可省略,分號三個表達(dá)式均可省略,分號不能省略。不能省略。f
13、or for 循環(huán)體可以是循環(huán)體可以是復(fù)合語句。復(fù)合語句。共 42 頁 第 1717 頁3.說明:說明:(1)基本的應(yīng)用形式:基本的應(yīng)用形式:forfor(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 求級數(shù)求級數(shù)12+22+32+前前10項之和。項之和。main() int i, sum=0; for (i=1;i=10;i+) sum=sum+i*i; printf(%d,sum);共 42 頁 第 1818 頁(2)三個表達(dá)式均可缺省,但起分割作用的兩個分)三個表達(dá)式均可缺省,但起分割作用的兩個分號不可省略。號不可省略。 例如:例如:for( ; ;
14、 ) 相當(dāng)于相當(dāng)于while (1) 語句語句(3)表達(dá)式)表達(dá)式1和表達(dá)式和表達(dá)式3可為逗號表達(dá)式??蔀槎禾柋磉_(dá)式。 例:例: int i,j,sum; for(sum=0, i=0,j=100;i=j;i+,j- ) sum=sum+i+j;共 42 頁 第 1919 頁 輸出輸出100以內(nèi)所有偶數(shù)的和與所有奇數(shù)的和。以內(nèi)所有偶數(shù)的和與所有奇數(shù)的和。#include main() int i,s1=0,s2=0; for(i=1;i=100;i+) if(i%2=0) s2=s2+i; else s1=s1+i; printf(s1=%d,s2=%dn,s1,s2); 共 42 頁 第 2
15、020 頁 用用forfor循環(huán)編寫輸出華氏循環(huán)編寫輸出華氏- -攝氏溫度轉(zhuǎn)換表攝氏溫度轉(zhuǎn)換表輸出華氏輸出華氏-攝氏溫度的轉(zhuǎn)換表,要求攝氏溫度的轉(zhuǎn)換表,要求輸入華氏溫度取值范圍。輸入華氏溫度取值范圍。轉(zhuǎn)換公式:轉(zhuǎn)換公式:C=5C=5* *(F-32F-32)/9/9F=下限開始輸入華氏上下限 C=5C=5* *(F-32F-32)/9/9假假真真結(jié)束輸出 F ,CF=F+1F=F+1#include main() int f1,f2; float c; 共 42 頁 第 2121 頁分析:求前分析:求前n 項和,要循環(huán)項和,要循環(huán)n次,每次累加次,每次累加1項。除第項。除第1項外,項外,每次循
16、環(huán)分母都遞增每次循環(huán)分母都遞增2,符號交替變化。符號交替變化。#include main() int i,n,t=1,flag=1; double sum=0,item; scanf(%d,&n); for(i=1;i=n;i+) item=flag*1.0/t; /* 計算第計算第i項的值項的值 */ sum=sum+item; /* 累加第累加第i項的值項的值 */ flag=-flag; /*改變符號,為下次循環(huán)做準(zhǔn)備改變符號,為下次循環(huán)做準(zhǔn)備*/ t=t+2; /*分母遞增分母遞增2,為下次循環(huán)做準(zhǔn)備,為下次循環(huán)做準(zhǔn)備*/ printf(sum=%fn,sum); 輸入一個正數(shù)
17、輸入一個正數(shù)n,計算,計算1-1/3+1/5-1/7+的前的前n項之和。項之和。運(yùn)行結(jié)果運(yùn)行結(jié)果: 輸入輸入:5 sum=0.834921共 42 頁 第 2222 頁 for語句和語句和while語句先判斷條件,后執(zhí)行語句,語句先判斷條件,后執(zhí)行語句,故循環(huán)體有可能一次也不執(zhí)行,而故循環(huán)體有可能一次也不執(zhí)行,而dowhile語句語句的循環(huán)體的循環(huán)體至少執(zhí)行一次至少執(zhí)行一次。 必須在必須在while 語句和語句和dowhile語句之前對循環(huán)體語句之前對循環(huán)體變量賦初值,循環(huán)體中必須包含能最終改變循環(huán)變量賦初值,循環(huán)體中必須包含能最終改變循環(huán)條件真假的操作;而條件真假的操作;而for語句可在表達(dá)
18、式語句可在表達(dá)式1中對循中對循環(huán)變量賦初值,表達(dá)式環(huán)變量賦初值,表達(dá)式3中修改循環(huán)變量的值。中修改循環(huán)變量的值。 在循環(huán)次數(shù)已經(jīng)確定的情況下,一般用在循環(huán)次數(shù)已經(jīng)確定的情況下,一般用for語句;語句;而對于循環(huán)次數(shù)不確定,只給出循環(huán)結(jié)束條件的而對于循環(huán)次數(shù)不確定,只給出循環(huán)結(jié)束條件的問題,習(xí)慣用問題,習(xí)慣用while或或do while 語句解決。語句解決。共 42 頁 第 2323 頁1. 1. 定義:定義:在循環(huán)體內(nèi)又包含一個循環(huán)結(jié)構(gòu),稱為循在循環(huán)體內(nèi)又包含一個循環(huán)結(jié)構(gòu),稱為循環(huán)嵌套。三種循環(huán)都可以嵌套。下面幾種都是合環(huán)嵌套。三種循環(huán)都可以嵌套。下面幾種都是合法的嵌套形式:法的嵌套形式:
19、for( ; ; ) while( ) for循環(huán)體嵌套循環(huán)體嵌套while循環(huán)體循環(huán)體for( ; ; ) for( ; ; ) for循環(huán)體嵌套循環(huán)體嵌套for循環(huán)循環(huán)共 42 頁 第 2424 頁do do while( ); while( );do_while循環(huán)循環(huán)體體嵌套嵌套do_while循環(huán)循環(huán)while( ) do while( ); while循環(huán)體循環(huán)體嵌套嵌套do_while循環(huán)循環(huán)while( ) for( ; ; ) while循環(huán)體嵌套循環(huán)體嵌套for循環(huán)循環(huán) do for( ; ; ) while( ); do_while循環(huán)體循環(huán)體嵌套嵌套for循環(huán)循環(huán)共 4
20、2 頁 第 2525 頁 2.2.嵌套結(jié)構(gòu)規(guī)則嵌套結(jié)構(gòu)規(guī)則 外循環(huán)外循環(huán)內(nèi)循環(huán)內(nèi)循環(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)出口外循環(huán)出口外循環(huán)出口共 42 頁 第 2626 頁for(i=1;i=2;i+) for(j=1;j=2;j+) printf(%3d ,i+j); printf(n ); for(i=1;i=2;i+) for(j=1;j=2;j+) printf(%3d,i+j); printf(n); output: 2 3 3 4output: 2 3 3 4共 42 頁 第 2727 頁1. 輸入輸入m(行數(shù));行數(shù));2. for ( k=
21、1; k=m; k+) 打印打印 k 個個 * * ; 換新行換新行; 1. 輸入輸入m;2. for ( k=1; k=m; k+) * * * * * * *說明說明:1. :1. 循環(huán)變量可以控制循環(huán)次數(shù);循環(huán)變量可以控制循環(huán)次數(shù); 2. 2. 外循環(huán)變量可作為內(nèi)循環(huán)次數(shù)的控制變量外循環(huán)變量可作為內(nèi)循環(huán)次數(shù)的控制變量, ,共 42 頁 第 2828 頁#include main( ) int k,m,j; scanf (%d,&m); for ( k=1;k=m;k+) for ( j=1;j=k;j+) printf (* ); printf(n); 整理得到程序如下:整理得到
22、程序如下:共 42 頁 第 2929 頁使用循環(huán)嵌套計算:使用循環(huán)嵌套計算:1!+2!+3!+100!1!+2!+3!+100!#include main() int i,j; double sum=0,item; for(i=1;i=100;i+) item=1; for(j=1;j=i;j+) item=item*j; sum=sum+item; printf(sum=%fn,sum);共 42 頁 第 3030 頁使用循環(huán)計算:使用循環(huán)計算:1!+2!+3!+100!1!+2!+3!+100!#include main() int i,j; double sum=0,item=1; fo
23、r(i=1;i=100;i+) item=item*i; sum=sum+item; printf(sum=%fn,sum);共 42 頁 第 3131 頁forfor循環(huán)嵌套循環(huán)嵌套whilewhile循環(huán):循環(huán):輸入輸入6 6名學(xué)生名學(xué)生5 5門課程的成績,分別統(tǒng)計每名學(xué)生門課程的成績,分別統(tǒng)計每名學(xué)生5 5門課程的門課程的平均成績。平均成績。#include main() int i,j; float score,sum,ave; for(i=1;i=6;i+) sum=0; j=1; while(j=5) scanf (%f,&score); sum=sum+score; j+
24、; ave=sum/5; printf(i=%d ave=%6.2fn,i,ave); 共 42 頁 第 3232 頁1. break 語句語句語法語法: break ;功能功能:終止終止包含該語句的最內(nèi)包含該語句的最內(nèi)層循環(huán)。層循環(huán)。 main( ) int n; for(n=100;n=200;n+) if(n%3=0) break ; printf(%6d,n); 2. continue 語句語句語法語法:continue ;功能功能:結(jié)束結(jié)束循環(huán)體的本次執(zhí)行循環(huán)體的本次執(zhí)行。main( ) int n; for(n=100;n=200;n+) if(n%3=0) continue ;
25、printf(%6d,n); 該語句只能出現(xiàn)在該語句只能出現(xiàn)在for, whilefor, while或或dodowhilewhile語句中。語句中。該語句只能出現(xiàn)在該語句只能出現(xiàn)在switch,for, switch,for, whilewhile或或dodowhilewhile語句中。語句中。共 42 頁 第 3333 頁for for 循環(huán)結(jié)構(gòu)中的循環(huán)結(jié)構(gòu)中的breakbreak結(jié)構(gòu)結(jié)構(gòu)forfor循環(huán)結(jié)構(gòu)中的循環(huán)結(jié)構(gòu)中的continuecontinue結(jié)構(gòu)結(jié)構(gòu)表達(dá)式2表達(dá)式1語句1表達(dá)式3零零非零非零break語句2是是否否表達(dá)式2表達(dá)式1語句1表達(dá)式3零零非零非零continue語句
26、2是是否否共 42 頁 第 3434 頁循環(huán)結(jié)束的條件:循環(huán)結(jié)束的條件:發(fā)生下列情況之一時,循環(huán)結(jié)束執(zhí)行:發(fā)生下列情況之一時,循環(huán)結(jié)束執(zhí)行:表達(dá)式的值為表達(dá)式的值為0;循環(huán)體內(nèi)遇到循環(huán)體內(nèi)遇到break語句;語句;循環(huán)體內(nèi)遇到循環(huán)體內(nèi)遇到goto 語句,且與該語句,且與該goto語句配合語句配合 使用的標(biāo)號所指定的語句在本循環(huán)體外;使用的標(biāo)號所指定的語句在本循環(huán)體外;共 42 頁 第 3535 頁3. 空語句空語句形式:形式: ;(只由一個分號構(gòu)成)(只由一個分號構(gòu)成)功能功能: 什么也不做。(可出現(xiàn)在程序中任何語句可什么也不做。(可出現(xiàn)在程序中任何語句可以出現(xiàn)的地方)以出現(xiàn)的地方)例:例:求
27、級數(shù)求級數(shù)12+22+32+,前,前10項之和。項之和。main( ) int i, sum=0; for(i=1;i=10;sum+=i*i, i+) ; printf(sum=%dn, sum); 注意:空語句的正確用法!注意:空語句的正確用法!共 42 頁 第 3636 頁例:例:求級數(shù)求級數(shù)12+22+32+,前,前10項之和。項之和。main( ) int i, sum=0; for(i=1;i=10;i+) ; /* 錯誤使用了空語句錯誤使用了空語句, 應(yīng)刪除應(yīng)刪除*/ sum+=i*i; printf(sum=%dn, sum); 指出錯誤之處指出錯誤之處共 42 頁 第 373
28、7 頁1. 1. 輸入一個整數(shù)輸入一個整數(shù)m m,判斷是否為素數(shù)。,判斷是否為素數(shù)。若若m m不能被不能被2 2m-1(m-1(或者或者2 2m m的平方根的平方根) )之間的任何一個整數(shù)整之間的任何一個整數(shù)整除,則除,則m m為素數(shù)。為素數(shù)。算法分析:算法分析: (1 1)設(shè))設(shè)k=m-1,k=m-1,用用2 2至至m-1m-1依次去除依次去除m,m, 若若m m能被能被2 2 k k之中任何之中任何一個整數(shù)整除,則不必除下去,肯定不是素數(shù),跳出循一個整數(shù)整除,則不必除下去,肯定不是素數(shù),跳出循環(huán)環(huán),(i=k),(i=k+1.i=k+1.在循環(huán)之后判別在循環(huán)之后判別i的值是否大于或等于的值是
29、否大于或等于k+1,若是,則,若是,則表明未曾被表明未曾被2 k之間任一整數(shù)整除過,因此輸出之間任一整數(shù)整除過,因此輸出“是素數(shù)是素數(shù)”。編程舉例編程舉例共 42 頁 第 3838 頁程序如下:程序如下:#include stdio.hmain( ) int m, i, k; scanf(%d,&m); k=m-1; for(i=2; ik) printf (%d is a prime numbern, m); else printf(%d is not a prime numbern, m);共 42 頁 第 3939 頁分析:程序采用逐位分離的方法。分析:程序采用逐位分離的方法。
30、設(shè)設(shè)x x為正整數(shù),為正整數(shù),x%10 x%10分分離離1 1位,位,x=x/10 x=x/10 為下次分離做準(zhǔn)備,直到為下次分離做準(zhǔn)備,直到x=0.x=0.#include stdio.hmain( ) int x; printf(Enter x:); scanf(%d,&x); while(x!=0) printf(%d,x%10); x=x/10; 2.輸入一個正整數(shù),將其逆向輸出。輸入一個正整數(shù),將其逆向輸出。共 42 頁 第 4040 頁 3 3. .求求sin(x)sin(x)的近似值的近似值(x(x是弧度)。是弧度)。sin x=x- xsin x=x- x3 3/3!+
31、x/3!+x5 5/5!-x/5!-x7 7/ 7!+(-1)/ 7!+(-1)n+1n+1x x2n-12n-1/(2n-1)! /(2n-1)! +分析:本例可作為循環(huán)累加問題處理分析:本例可作為循環(huán)累加問題處理, ,考慮適當(dāng)?shù)木纫蟆?紤]適當(dāng)?shù)木纫?。設(shè)設(shè)i i為項數(shù)為項數(shù),s,s為累加和,為累加和,s=s+s=s+級數(shù)的下一項級數(shù)的下一項第第i i項的絕對值:項的絕對值:x x2i-12i-1/ (2i-1)!/ (2i-1)!第第i i項的運(yùn)算符號項的運(yùn)算符號(-1)(-1)i+1i+1第第i+1i+1項的絕對值等于項的絕對值等于x x2(i+1)-12(i+1)-1/(2(i+
32、1)-1)!= x/(2(i+1)-1)!= x2i+12i+1/(2i+1)!/(2i+1)!因此因此, ,第第i+1i+1項的絕對值等于第項的絕對值等于第i i項的絕對值乘項的絕對值乘x x2 2再除以再除以(2i)(2i)* *(2i+1)(2i+1)級數(shù)的下一項可用下面表達(dá)式實現(xiàn):級數(shù)的下一項可用下面表達(dá)式實現(xiàn): -(-(上一項的值上一項的值) )* *x x* *x/(2+i)x/(2+i)* *(2(2* *i+1);i+1);共 42 頁 第 4141 頁程序如下:程序如下:#include #include stdio.hstdio.hmain()main() int i,pi
33、=1,f=1; int i,pi=1,f=1; double x,t,p,s=0.0; double x,t,p,s=0.0; scanf( scanf(%lf%lf,&x);,&x); x=x x=x* *3.1415926/180; /3.1415926/180; /* *度化為弧度度化為弧度* */ / for(t=x,p=x,i=1;i=10;i+) for(t=x,p=x,i=1;i=10;i+) s=s+t; s=s+t; p=p p=p* *x x* *x;x; pi=pi pi=pi* *(2(2* *i)i)* *(2(2* *i+1);i+1); f=-f;
34、 f=-f; t=f t=f* *p/pip/pi; ; printf( printf(sin(x)=%fnsin(x)=%fn,s);,s); 共 42 頁 第 4242 頁1.循環(huán)程序設(shè)計的要點(diǎn)循環(huán)程序設(shè)計的要點(diǎn) 循環(huán)初值,循環(huán)條件,循環(huán)體設(shè)定循環(huán)初值,循環(huán)條件,循環(huán)體設(shè)定2.C語言循環(huán)程序設(shè)計的三種結(jié)構(gòu)語言循環(huán)程序設(shè)計的三種結(jié)構(gòu) for, while, do- while3.程序設(shè)計的一般步驟程序設(shè)計的一般步驟 分析給定問題的詳細(xì)步驟,總結(jié)出解決問題的一般方法;分析給定問題的詳細(xì)步驟,總結(jié)出解決問題的一般方法; 畫出程序流程圖或?qū)懗龀绦虿莅福划嫵龀绦蛄鞒虉D或?qū)懗龀绦虿莅福?編制程序;編制程序; 輸入程序、進(jìn)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 彩鋼板開洞施工方案
- 露營基地設(shè)備租賃方案
- 巖板上墻鋪貼施工方案
- 海南瓊口口腔醫(yī)院項目環(huán)境影響報告表環(huán)評報告表
- 銅陵安全人臉識別施工方案
- 濟(jì)南玻璃鋼纖維布施工方案
- 滁州家用車庫地坪施工方案
- 氣象站防電涌入侵施工方案
- 臨沂古建施工方案公司
- 壓花地坪施工方案
- 2022年4月自考00150金融理論與實務(wù)試題及答案含解析
- 早期矯正知識培訓(xùn)課件模板
- 化工建設(shè)行業(yè)分析
- 教師事業(yè)單位獎勵審批表主要事跡六篇
- 私樁共享商業(yè)計劃書
- 蔬菜基地報告
- 新時代這十年的變化
- 山地光伏培訓(xùn)課件
- 醫(yī)療器械經(jīng)營基礎(chǔ)知識培訓(xùn)售后服務(wù)規(guī)范
- 制造產(chǎn)品運(yùn)營方案
- 人工智能技術(shù)的應(yīng)用前景與發(fā)展趨勢
評論
0/150
提交評論