循環(huán)結(jié)構(gòu)應(yīng)用(課件)講解_第1頁
循環(huán)結(jié)構(gòu)應(yīng)用(課件)講解_第2頁
循環(huán)結(jié)構(gòu)應(yīng)用(課件)講解_第3頁
循環(huán)結(jié)構(gòu)應(yīng)用(課件)講解_第4頁
循環(huán)結(jié)構(gòu)應(yīng)用(課件)講解_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《嵌入式C程序設(shè)計》主講:馬穎求π的近似值求π的近似值的近似方法

直到發(fā)現(xiàn)某一項的絕對值小于10-6為止(該項不累加)。

【算法分析】

奇數(shù)項偶數(shù)項

直到發(fā)現(xiàn)某一項的絕對值小于10-6為止(該項不累加)?!緟⒖汲绦颉?include<stdio.h>#include<math.h> main(){intsign=1; doublepi=0.0,n=1.0,term=1.0;//程序中用到數(shù)學(xué)函數(shù)fabs//sign用來表示數(shù)值的符號//pi開始表示多項式的值,最后代表π的值,//n代表分母,term代表當(dāng)前項的值while(fabs(term)>=1e-6) {pi=pi+term; n=n+2; sign=-sign; term=sign/n; }pi=pi*4; printf(“pi=%10.8f\n”,pi); }

直到發(fā)現(xiàn)某一項的絕對值小于10-6為止(該項不累加)。【參考程序】#include<stdio.h>#include<math.h> main(){intsign=1; doublepi=0.0,n=1.0,term=1.0;

//把當(dāng)前項term累加到pi中//n+2是下一項的分母//后一項的符號與前一項相反//求出下一項的值term//多項式的和pi×4,才是π的近似值//輸出π的近似值pi=3.14159065【程序運行結(jié)果】while(fabs(term)>=1e-6) {pi=pi+term; n=n+2; sign=-sign; term=sign/n; }pi=pi*4; printf(“pi=%10.8f\n”,pi); }

直到發(fā)現(xiàn)某一項的絕對值小于10-6為止(該項不累加)?!緟⒖汲绦颉?include<stdio.h>#include<math.h> main(){intsign=1; doublepi=0.0,n=1.0,term=1.0;

//把當(dāng)前項term累加到pi中//n+2是下一項的分母//后一項的符號與前一項相反//求出下一項的值term//多項式的和pi×4,才是π的近似值//輸出π的近似值1e-8pi=3.14159065pi=3.14159263【程序運行結(jié)果】謝謝《嵌入式C程序設(shè)計》主講:馬穎求平均值計算用戶多次輸入的若干個數(shù)的平均值的方法要讓用戶反復(fù)執(zhí)行輸入操作時,可用scanf函數(shù)進(jìn)行判斷:m=scanf(“%d”,x);當(dāng)輸入數(shù)字,格式正確時,輸入數(shù)值被送到變量x中,scanf函數(shù)將返回數(shù)字1,即m=1,說明輸入成功。當(dāng)輸入格式不正確時,無法將一個值送到變量x中,那么scanf函數(shù)就返回數(shù)字0,即m=0,說明輸入不成功。16.23161【例題】計算用戶多次輸入的若干個數(shù)的平均值,去掉一個最大數(shù)和一個最小數(shù)后再求平均值。main(){doublesum=0,aver=1; doublex=0,max,min; intcount=0,m=1; printf(“輸入數(shù)字,回車確認(rèn)(輸入no結(jié)束輸入過程):\n”);m=scanf(“%lf”,&x);max=min=x;//sum、aver分別用來存放數(shù)的和、平均值//count表示輸入數(shù)字的個數(shù)//輸入數(shù)字送到x中,輸入成功m=1,否則=0while(m!=0) {count++; sum=sum+x;

printf(“輸入下一個數(shù)據(jù),回車確認(rèn)(輸入no結(jié)束輸入過程):\n”);m=scanf(“%lf”,&x);if(x>max)max=x;if(x<min)min=x;}【例題】計算用戶多次輸入的若干個數(shù)的平均值,去掉一個最大數(shù)和一個最小數(shù)后再求平均值。//當(dāng)輸入成功時,執(zhí)行循環(huán)體//輸入數(shù)的個數(shù)加1//輸入的數(shù)累加求和//判斷輸入的數(shù)是否是最大值//判斷輸入的是是否是最小值aver=sum/count;printf(“所有輸入數(shù)的平均值是:%f\n”,aver);if(count>=3) {printf(“去掉一個最大數(shù)%f、一個最小數(shù)%f\n”,max,min);aver=(sum-max-min)/(count-2);printf(“平均值是:%f\n”,aver);}}【例題】計算用戶多次輸入的若干個數(shù)的平均值,去掉一個最大數(shù)和一個最小數(shù)后再求平均值。//求平均值//如果輸入數(shù)的個數(shù)大于等于3個//求平均值【例題】計算用戶多次輸入的若干個數(shù)的平均值,去掉一個最大數(shù)和一個最小數(shù)后再求平均值。謝謝《嵌入式C程序設(shè)計》主講:馬穎猜隨機(jī)數(shù)字?首先要確定隨機(jī)數(shù)種子,然后才能模擬得到一個隨機(jī)數(shù)。srand(time(NULL));

獲得1~100之間的隨機(jī)數(shù):rand()猜大了怎樣獲得一個隨機(jī)數(shù)呢?隨機(jī)數(shù)5025猜小了30猜對了number=%100+1;【例題】程序隨機(jī)給出一個1~100之間的數(shù),讓用戶猜這個數(shù)。#include<stdio.h>#include<time.h> #include<stdlib.h> main(){intnumber,guess; intcount=0; srand(time(NULL)); printf(“給你一個1~100之間的數(shù)字,請猜測:\n”);number=rand()%100+1; 【例題】程序隨機(jī)給出一個1~100之間的數(shù),讓用戶猜這個數(shù)。//程序中用到time函數(shù)//程序中用到srand函數(shù)和rand函數(shù)//number,guess分別表示隨機(jī)數(shù)、用戶猜測數(shù)//記錄用戶猜測的次數(shù)//用當(dāng)前時間做隨機(jī)數(shù)種子//得到1~100之間的隨機(jī)數(shù)

do{scanf(“%d”,&guess);

count++; if(guess>number) printf(“第%d次猜測,猜大了,請再猜:\n”,count);elseif(guess<number) printf(“第%d次猜測,猜小了,請再猜:\n”,count);}while(guess!=number);printf(“恭喜您猜對了,共

溫馨提示

  • 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

提交評論