循環(huán)-累加算法遞推算法_第1頁
循環(huán)-累加算法遞推算法_第2頁
循環(huán)-累加算法遞推算法_第3頁
循環(huán)-累加算法遞推算法_第4頁
循環(huán)-累加算法遞推算法_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

for語句for(i=1;i<=n;i++){item=?;sum=sum+item

;}程序段6/17/20241第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例輸入一個正整數(shù)n,求1+2+……+n。假設(shè)n=100for(i=1;i<=n;i++){item=?;sum=sum+item

;}i6/17/20242第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句編寫求1+1/2+1/3+……+1/n的程序for(i=1;i<=n;i++){item=?;sum=sum+item

;}1.0/i6/17/20243第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句輸入一個正整數(shù)n,求1+1/3+1/5+…的前n項(xiàng)和for(i=1;i<=n;i++){item=?;sum=sum+item

;}1.0/(2*i-1)6/17/20244第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例

求1-1/3+1/5-…的前n項(xiàng)和for(i=1;i<=n;i++){item=?;sum=sum+item

;

}flag*1.0/(2*i-1)flag=-flag;6/17/20245第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例

求12+22+32+…n2的和for(i=1;i<=n;i++){item=?;sum=sum+item

;

}i*i6/17/20246第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例

求12+32+52…的前n項(xiàng)和for(i=1;i<=n;i++){item=?;sum=sum+item

;

}(2*i-1)*(2*i-1)6/17/20247第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例

求1!+2!+3!+…的前n項(xiàng)和for(i=1;i<=n;i++){item=?;sum=sum+item

;

}item*iitem=1;

6/17/20248第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例

求a+aa+aaa+…的前n項(xiàng)和for(i=1;i<=n;i++){item=?;sum=sum+item

;

}item*10+aitem=0;

6/17/20249第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句for(i=1;i<=n;i++){item=?;sum=sum+item

;

}a/ba=a+b;b=a-b;有一分?jǐn)?shù)序列,2/1,3/2,5/3,8/5,13/8,21/13,…,求出這個數(shù)列的前20項(xiàng)之和。a=2;b=1;6/17/202410第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例

輸入一個正整數(shù)n,計算n!。n!=1*2*3*4*…*nfor(i=1;i<=n;i++)循環(huán)體該怎樣表達(dá)?抽取具有共性的算式:product=product*ifor(i=1;i<=n;i++)product=product*i;從1連續(xù)乘到n,起點(diǎn)是1,終點(diǎn)是n,步長是1。假設(shè)循環(huán)控制變量設(shè)為i,則for語句可寫為:6/17/202411第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句連續(xù)累加的算式:sum=sum+i;或sum=sum+item;

要求和變量sum的初始值為0初始值product=?連續(xù)乘積的算式:product=product*i;或

product=product*itemsum=0;for(i=1;i<=n;i++)sum=sum+i;sum=0;for(i=1;i<=n;i++)sum=sum+item;product=1;for(i=1;i<=n;i++)product=product*i;product=1;for(i=1;i<=n;i++)product=product*item;6/17/202412第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句#include<stdio.h>intmain(){return0;}

inti,n;doubleproduct;

printf("inputn:\n");

scanf("%d",&n);

product=1; /*置階乘product的初值為1*/for(i=1;i<=n;i++) /*循環(huán)重復(fù)n次,計算n!*/product=product*i;printf("product=%.0f\n",product);6/17/202413第五章循環(huán)結(jié)構(gòu)程序設(shè)計#include<stdio.h>intmain(){

inti,n;

intproduct;

printf("inputn:\n");

scanf("%d",&n);product=1; for(i=1;i<=n;i++)product=product*i;

printf("product=%d\n",product);return0;}inputn:2product=2inputn:5product=120inputn:20product=-21021327366/17/202414第五章循環(huán)結(jié)構(gòu)程序設(shè)計#include<stdio.h>intmain(){

inti,n;

intproduct;

printf("inputn:\n");

scanf("%d",&n);product=1; for(i=1;i<=n;i++)product=product*i;

printf("product=%d\n",product);return0;}inputn:16product=1product=2product=6product=24product=120product=720product=5040product=40320product=362880product=3628800product=39916800product=479001600product=1932053504product=1278945280product=2004310016product=2004189184Pressanykeytocontinueinputn:17product=1product=2product=6product=24product=120product=720product=5040product=40320product=362880product=3628800product=39916800product=479001600product=1932053504product=1278945280product=2004310016product=2004189184product=-288522240Pressanykeytocontinue6/17/202415第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句計算xn=x*x*…*x進(jìn)一步,如果求xn

,如何編寫程序?輸入實(shí)數(shù)x和正整數(shù)n,循環(huán)從1到n,步長為1,

for(i=1;i<=n;i++)循環(huán)體:

power=power*item

(第i項(xiàng))power初始值應(yīng)為1,

power=1;item=?item=x;6/17/202416第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句#include<stdio.h>intmain(){

return0;}源程序-求xn

inti,n;doublex,power;

printf("Enterx,n:\n");

scanf("%lf%d",&x,&n);

power=1; /*置power的初值為1*/for(i=1;i<=n;i++) /*循環(huán)重復(fù)n次,計算x的n次冪*/power=power*x;printf("%.0f\n",power);6/17/202417第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句例

歐幾里德算法:求兩個非負(fù)整數(shù)u和v的最大公約數(shù)。例如,求36和8的最大公約數(shù)。u=36,v=8≠0,r=u%v=36%8=4,u=v=8,v=r=4≠0;r=u%v=8%4=0,u=v=4,v=r=0;u=4的值即為所求的解。求兩個非負(fù)整數(shù)的最大公約數(shù)可以利用輾轉(zhuǎn)相除法,過程如下:當(dāng)v不為0時,輾轉(zhuǎn)用操作r=u%v,u=v,v=r消去相同的因子,直到v=0時,u的值即為所求的解。6/17/202418第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句輸入u和vV!=0yr=u%vu=vv=rn輸出u#include<stdio.h>intmain(){

int

u,v,r;

printf(“請輸入u,v:”);

scanf(“%d%d”,&u,&v);

while(v!=0){r=u%v;u=v;v=r;}

printf(“%d\n”,u);return0;}循環(huán)次數(shù)不確定6/17/202419第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句舉例請編寫一個程序,其功能為:從鍵盤輸入一行字符,統(tǒng)計其中包含的數(shù)字字符個數(shù),并輸出。

問題分析:(1)從鍵盤輸入一行字符,字符的個數(shù)不定,需要根據(jù)行結(jié)束標(biāo)記’\n’(回車符)判斷輸入的結(jié)束。(2)只需統(tǒng)計字符個數(shù),沒有必要保存每個字符。(3)需要定義一個整型變量num,用于累加數(shù)字字符的個數(shù)。定義變量num,并置初值0讀入一個字符數(shù)字字符?ynnum加1不是回車符yn輸出num6/17/202420第五章循環(huán)結(jié)構(gòu)程序設(shè)計for語句程序#include<stdio.h>intmain(){charch;

intnum=0;

printf(“請輸入一行文本:”);do{

ch=getchar();

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論