![C循環(huán)控制結(jié)構(gòu)實(shí)用_第1頁(yè)](http://file4.renrendoc.com/view/045000e4c993b28cbcd25f6b828ac460/045000e4c993b28cbcd25f6b828ac4601.gif)
![C循環(huán)控制結(jié)構(gòu)實(shí)用_第2頁(yè)](http://file4.renrendoc.com/view/045000e4c993b28cbcd25f6b828ac460/045000e4c993b28cbcd25f6b828ac4602.gif)
![C循環(huán)控制結(jié)構(gòu)實(shí)用_第3頁(yè)](http://file4.renrendoc.com/view/045000e4c993b28cbcd25f6b828ac460/045000e4c993b28cbcd25f6b828ac4603.gif)
![C循環(huán)控制結(jié)構(gòu)實(shí)用_第4頁(yè)](http://file4.renrendoc.com/view/045000e4c993b28cbcd25f6b828ac460/045000e4c993b28cbcd25f6b828ac4604.gif)
![C循環(huán)控制結(jié)構(gòu)實(shí)用_第5頁(yè)](http://file4.renrendoc.com/view/045000e4c993b28cbcd25f6b828ac460/045000e4c993b28cbcd25f6b828ac4605.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1C循環(huán)控制結(jié)構(gòu)實(shí)用解2、while循環(huán)控制結(jié)構(gòu)(當(dāng)型循環(huán))解3、do~while循環(huán)控制結(jié)構(gòu)(直到循環(huán))
sn=0;i=1; for(i=0;i<=n;i++)sn=sn+i;
Readn0→sn,i當(dāng)++i=1~n循環(huán)sn+i→snWritesnReadn1→sn,isn+i→sn++i(1~n),直到i>n終止Writesn解1、for循環(huán)控制結(jié)構(gòu)
sn=0;i=1; while(i<=n){sn=sn+i;i++;}
sn=0;i=1; do{sn=sn+i;i++;}while(i<=n);第1頁(yè)/共18頁(yè)1、for循環(huán)結(jié)構(gòu)for(初始化表達(dá)式;終限條件表達(dá)式;步長(zhǎng)表達(dá)式)
{s1;s2;
[continue;] ………;
[break;]
sn;
}
特點(diǎn):初始化表達(dá)式只執(zhí)行一次;循環(huán)體執(zhí)行次數(shù)≧0
;適合循環(huán)次數(shù)已知的精確迭代算法。C的循環(huán)結(jié)構(gòu)第2頁(yè)/共18頁(yè)2、while循環(huán)結(jié)構(gòu)
while(條件表達(dá)式)
{s1;s2;……;
[continue;] //短路語(yǔ)句
………;
[break;] //開(kāi)路語(yǔ)句
si;sn;
}特點(diǎn):條件表達(dá)式被多次執(zhí)行;循環(huán)體執(zhí)行次數(shù)≧0;循環(huán)體中至少含有修正條件表達(dá)式的語(yǔ)句;適合循環(huán)次數(shù)未知的非精確迭代算法。第3頁(yè)/共18頁(yè)3、do~while循環(huán)結(jié)構(gòu)
do
{s1;s2;
[continue;]
//短路語(yǔ)句
………;
[break;]
//開(kāi)路語(yǔ)句
si;sn;
}while(條件表達(dá)式);
特點(diǎn):條件表達(dá)式被多次執(zhí)行;循環(huán)體執(zhí)行次數(shù)≧1
;循環(huán)體中至少含有修正條件表達(dá)式的語(yǔ)句;適合循環(huán)次數(shù)未知的非精確迭代算法。第4頁(yè)/共18頁(yè)Fact(n)nn!main()結(jié)構(gòu)設(shè)計(jì)
方案一:一個(gè)main函數(shù)方案二:多個(gè)函數(shù)例1:求1!+2!+3!+……+n!程序編碼?如何求item!—逐步擴(kuò)展:設(shè)累積變量:fn=1;設(shè)記數(shù)變量:i=1;
循環(huán)
(當(dāng)i=1~item):
fn*i→fn;
i++;算法設(shè)計(jì)(自頂而下)
輸入n;
循環(huán)(item=1~n):
sum=sum+item!
;輸出sum;算法優(yōu)化:輸入n;初始準(zhǔn)備fn=1,sum=0;循環(huán)(item=1~n):
{fn=fn*item;
sum=sum+fn;}
輸出sum;第5頁(yè)/共18頁(yè)Fact(n)nn!main()//方案一:一個(gè)main函數(shù)#include<iostream.h>voidmain(void){longsum=0,fn=1;intn,item;cin>>n;for(item=1;item<=n;item++)
{fn=fn*item;sum=sum+fn;}cout<<“sum=”<<sum<<endl;
}例1:求1!+2!+3!+……+n!初始準(zhǔn)備fn=1,sum=0;輸入n;循環(huán)(item=1~n):
fn=fn*item;sum=sum+fn;輸出sum;//方案二:多個(gè)函數(shù)#include<iostream.h>voidmain(void){longsum=0,fn=1;intn,item;cin>>n;for(item=1;item<=n;item++)sum=sum+fact(item);cout<<“sum=“<<sum<<endl;}longfact(intn){longfn,i;for(i=1;i<=n;i++)fn=fn*i;returnfn;}
longfact(intn);//聲明第6頁(yè)/共18頁(yè)例2:牛頓迭代法求方程f(x)=0在x0附近的解。算法設(shè)計(jì)
x*是需要求的精確解, 設(shè)x0是x*附近的近似解, 有:f’(x0)=f(x0)/(x0-x1)yX*xx2x1x0f(x)0
則:
x1=
x0-f(x0)/f’(x0) |x0-x1|>??
x1→x0非精確迭代直到型循環(huán)?當(dāng)型循環(huán):第7頁(yè)/共18頁(yè)例:求2x3-4x2+3x-6=0在1.5附近的根。結(jié)構(gòu)設(shè)計(jì)方案一:main()方案二:main(),fx(x),fxd(x)x0f’(x0)main()fx(x0)fxd(x0)f’(x0)x0x0xmain()x0f’(x0)ndsolve(x0)fx(x0)fxd(x0)f’(x0)x0方案三:main(),ndsolve(x),fx(x),fxd(x)
(在函數(shù)與指針中討論)第8頁(yè)/共18頁(yè)程序編碼(求2x3-4x2+3x-6=0在1.5附近的根)#include<iostream.h>voidmain(void){doublex0=1.5,x1=0;while(fabs(x0-x1)>0.001)
{x0=x1;
x1=x0-(2*x0*x0*x0-4*x0*x0+3*x0-6)/(6*x0*x0-8*x0+3);
}cout<<“x=“<<x1<<endl;
}doublefx(doublex){doubley;y=2*x*x*x-4*x*x+3*x-6;return(y);}doublefxd(doublex){return(6*x*x-8*x+3);}
x1=x0-fx(x0)/fxd(x0);
doublefx(doublex);//函數(shù)聲明
doublefxd(double);x0f’(x0)main()fx(x0)fxd(x0)f(x0)x0第9頁(yè)/共18頁(yè)例3:用二分法求f(x)=0在(x1,x2)上的解。算法設(shè)計(jì)
f(x1)、f(x2)符號(hào)相反,則f(x)在(x1,x2)上至少有一個(gè)根x*。取(x1,x2)中點(diǎn)x=(x1-x2)/2,如果f(x)與f(x1)同號(hào),則x→x1;否則x→x2,|x1-x2|>??f(x)yX*x10x2x如何判斷f(x)與f(x1)同號(hào):
f(x)*f(x1)>0則同號(hào),否則異號(hào)。結(jié)構(gòu)設(shè)計(jì):main()或main()、fx(x)
第10頁(yè)/共18頁(yè)#include<?>voidmain(void){doublex1=-10,x2=10;while(fabs(x1-x2)>0.001)
{x=(x1+x2)*0.5;
if(f(x)*f(x1)>0)x1=x;elsex2=x;
}cout<<“x=“<<x<<endl;
}doublef(doublex){
return(
2*x*x*x-4*x*x+3x-6);}
doublef(doublex);//函數(shù)聲明例:求2x3-4x2+3x-6=0在(-10,10)之間的根。第11頁(yè)/共18頁(yè)例4:求第n項(xiàng)Fibonacci數(shù)列買(mǎi)1對(duì)兔,第3個(gè)月開(kāi)始每月都生1對(duì),1年幾何?結(jié)構(gòu)設(shè)計(jì):一個(gè)主函數(shù)實(shí)現(xiàn)
令:fib1=fib2=1
循環(huán)執(zhí)行(按月計(jì)數(shù)i:3~12): {fib1+fib2→fib;
fib2→fib1;
fib→fib2;}
fib即為所求。算法設(shè)計(jì) 月份:1月2月
3月
4月
5月
兔對(duì):1 1 2(1+1)
3(2+1)
5(3+2)第12頁(yè)/共18頁(yè)#include<iostream.h>或#include<iostream>usingnamespacestd;voidmain(void){intfib1=1,fib2=1,fib;inti,n;cout<<“n=?”;cin>>n;for(i=3;i<=n;i++)
{
fib=fib1+fib2;
fib1=fib2;
fib2=fib;
}cout<<endl<<“fib=”<<fib<<‘\n’;cout<<endl;}
令:fib1=fib2=1
循環(huán)執(zhí)行(按月計(jì)數(shù)i:3~12): {fib1+fib2→fib;
fib2→fib1;
fib→fib2;}
fib即為所求。如何輸出1~12的fib數(shù)呢?
cout<<f1<<‘\t’<<f2;
cout<<‘\t’<<fib<<endl;程序編碼如下:第13頁(yè)/共18頁(yè)例5:找出100~200以?xún)?nèi)的全部素?cái)?shù)。如果m是素?cái)?shù),則m不能被任何數(shù)n整除(n=2~m/2)。prime(n)n1/0main()算法設(shè)計(jì)
循環(huán)執(zhí)行(m=100~200)
循環(huán)執(zhí)行(n=2~n/2)m%n=0?程序編碼?結(jié)構(gòu)設(shè)計(jì)
方案一:僅main()實(shí)現(xiàn)方案二:main()、prime(n)//方案一:僅main()實(shí)現(xiàn)#Include<?>voidmain(void){intm,n;for(m=100;m<=200;m++)
{for(n=2;n<=m/2;n++)
{
if(m%n==0)break;}if(n>m/2)cout<<m<<‘\t’;
}}第14頁(yè)/共18頁(yè)prime(n)n1/0main()//方案二:main()、prime(n)#Include<?>voidmain(void){intm,n;for(m=100;m<=200;m++)
{
}}函數(shù)聲明:擴(kuò)展函數(shù)作用域!
intprime(intk);或
intprime(int);intprime(intk)//boolprime(intk)
{intn;for(n=2;n<=k/2;n++)
if(k%n==0)return0;//returnfalsereturn1;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 疫情封閉小區(qū)大門(mén)施工方案
- 健身房裝修合同范本版
- 咖啡館裝飾設(shè)計(jì)合同
- 商業(yè)綜合體外立面裝修合同
- 2025年度醫(yī)療數(shù)據(jù)保密合同范本
- 教育圖書(shū)配送承運(yùn)協(xié)議
- 淮安市理發(fā)店裝修合同范本
- 辦公樓泥水工程承包合同
- 工廠(chǎng)裝修施工協(xié)議范本
- 預(yù)制網(wǎng)格防護(hù)施工方案
- 15J403-1-樓梯欄桿欄板(一)
- QC課題提高金剛砂地面施工一次合格率
- 浙江省(面試)公務(wù)員考試試題及答案指導(dǎo)(2025年)
- 2024年發(fā)電廠(chǎng)交接班管理制度(二篇)
- 《數(shù)學(xué)課程標(biāo)準(zhǔn)》義務(wù)教育2022年修訂版(原版)
- 各種標(biāo)本采集的技術(shù)-痰標(biāo)本的采集(護(hù)理技術(shù))
- 實(shí)驗(yàn)室的設(shè)計(jì)規(guī)劃
- 注冊(cè)安全工程師《安全生產(chǎn)管理知識(shí)》科目知識(shí)要點(diǎn)
- 《新時(shí)代公民道德建設(shè)實(shí)施綱要》、《新時(shí)代愛(ài)國(guó)主義教育實(shí)施綱要》知識(shí)競(jìng)賽試題庫(kù)55題(含答案)
- 2024-2030年中國(guó)假睫毛行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
評(píng)論
0/150
提交評(píng)論