課件第6講循環(huán)_第1頁
課件第6講循環(huán)_第2頁
課件第6講循環(huán)_第3頁
課件第6講循環(huán)_第4頁
課件第6講循環(huán)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6講1.循環(huán)輔助控制-break,continue2.循環(huán)的嵌套3.程序舉例2#include<iostream.h>voidmain(){intx=14;while(x>10&&x<20) { if(x%3==1)break; if(x%3==0){x+=1;continue;} ++x; }cout<<x;}--break,continue語句例1循環(huán)輔助控制163#####--breakcontinue語句例2#include<stdio.h>intmain(){inti;for(i=1;i<8;i++)

{if(i%3==0)

continue;printf(“#”);}return0;}循環(huán)輔助控制結(jié)束本次循環(huán),忽略剩余語句#include<stdio.h>intmain(){inti;for(i=1;i<8;i++){if(i%3==0)

break;printf(“#”);}return0;}結(jié)束循環(huán)##4形式內(nèi)循環(huán)while(){……

循環(huán)體for()……}

執(zhí)行過程表達(dá)式為真?假執(zhí)行內(nèi)循環(huán)退出真............循環(huán)的嵌套舉例5循環(huán)的嵌套—舉例例1寫結(jié)果

#include<iostream.h>voidmain(){intk,j,m;m=0;for(j=5;j>=1;j--)cout<<m;}for(k=j;k<=5;k+=2)m+=j*k;{

m=0;}j=5,k取57結(jié)束j=4,k取46結(jié)束j=3,k取3,57結(jié)束j=2,k取2,46結(jié)束j=1,k取1,3,57結(jié)束j取0結(jié)束m=5*5+4*4+3*3+3*5+2*2+2*4+1*1+1*3+1*5m=0放在內(nèi)外層循環(huán)之間?866循環(huán)舉例-1.任意輸入一個數(shù),輸出它所有的因子并統(tǒng)計(jì)因子的個數(shù)。任意數(shù)n可能的因子{1,2,3,……n}如何分解因子用n依次除以集合中的數(shù)#include<stdio.h>intmain(){intn,i,gs=0;printf(“\nPleaseinputn:”);scanf(“%d”,&n);for(i=1;i<=n;i++)if(n%i==0){printf(“%d,”,i);gs++;}}

輸入nfor(i:1至n)n%i==0真輸出i假return0;}printf(“\ngs=%d“,gs);gs++

輸出gs

{gs=0

7程序舉例-2擴(kuò)展,找1000內(nèi)的所有完數(shù)完數(shù):一個數(shù)等于除它本身之外的所有因子之和。例如,6的因子為1,2,3,6=1+2+3,因此6是“完數(shù)”。

for(n:1—1000)s=0for(i=1;i<n;i++)n%i==0真s=s+i假s==n輸出YN628496

輸入nfor(i:1至n)n%i==0真輸出i假gs++輸出gsgs=08#include<stdio.h>main(){intm,n,t,i,gy,gb;printf("inputmandn:");scanf("%d%d",m,n);if(m>n){t=m;m=n;n=t;}for(i=m;i>=1;i--)if(m%i==0&&n%i==0){gy=i;break;}gb=m*n/gy;printf("%d,%d",gy,gb);}程序舉例3-求最大公約數(shù)和最小公倍數(shù)9程序舉例3-求最大公約數(shù)的輾轉(zhuǎn)相除法if(m>n){t=m;m=n;n=t;}r=n%m;while(r!=0){n=m;m=r;r=n%m;}cout<<"最大公約數(shù):"<<m;nmr被除數(shù)除數(shù)余數(shù)

13245454234230421.r=n%m2.若r=0,最大公約數(shù)為m

否則:n=m,m=r,轉(zhuǎn)到1算法描述:

設(shè)兩數(shù)為n、m例nmr被除數(shù)除數(shù)余數(shù)

3690練習(xí)10只能被1和它本身整除的數(shù)。檢查{2、3、4、……n-1}都不是n的因子用for循環(huán)

for(k=2;k<=n-1;k++)什么是素?cái)?shù)判斷方法判斷某一個數(shù)n(>1)是否為素?cái)?shù)程序舉例11方法1:檢查2~n-1中因子的個數(shù)個數(shù)為0則為素?cái)?shù)個數(shù)>0則為非素?cái)?shù)gs=0;for(k=2;k<n;k++){if(n%k==0)gs++;

else?}if(gs==0)是素?cái)?shù);else不是素?cái)?shù);判斷某一個數(shù)n(>1)是否為素?cái)?shù)程序舉例方法2:檢查2~n-1中的因子標(biāo)記法—設(shè)變量f,取兩個值1:是素?cái)?shù)0:不是素?cái)?shù)f=1;for(k=2;k<n;k++){if(n%k==0)f=0;}if(f==1)是素?cái)?shù);else不是素?cái)?shù);思考:發(fā)現(xiàn)因子,提前結(jié)束循環(huán)?12判斷某一個數(shù)n(>1)是否為素?cái)?shù)程序舉例方法3:檢查2~n-1中的因子(1)發(fā)現(xiàn)有因子提前結(jié)束循環(huán),(2)注意結(jié)束循環(huán)時(shí)k的終值.break結(jié)束循環(huán)(k<n),非素?cái)?shù)正常結(jié)束循環(huán)(k==n),素?cái)?shù)#include<iostream.h>voidmain(){intn,k;cin>>n;for(k=2;k<n;k++)if(n%k==0){break;}if(k==n)cout<<“yes";elsecout<<“no";}13練習(xí)一、編程計(jì)算s=1+3+5+……+99。

二、編一個程序,求任意兩個正整數(shù)的最大公約數(shù)。三、讀程序,寫結(jié)果1.#include<stdio.h>main(){inti,s=0;for(i=1;i<11;i++)s+=i;printf(“S=%d”,s);}

2.#include<stdio.h>main(){intnum=0;while(num<=2){num++;printf("%d",num);}}14答案一#include<stdio.h>voidmain(){inti,s=0;for(i=1;i<=99;i+=2)s=s+i;printf("%d",s);}15答案二#include<stdio.h>vo

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論