版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
選擇結(jié)構(gòu)程序設(shè)計(jì)實(shí)例綜合案例1用戶輸入三角形的三邊長度,程序輸出三角形是否是等邊或直角三角形。流程圖:源程序:#include<stdio.h>main(){inta,b,c,ok=-1;printf("輸入三角形的三邊長度(逗號(hào)分隔):\n");scanf("%d,%d,%d",&a,&b,&c);ok=a<b+c&&b<a+c&&c<a+bif(ok==1){printf("是三角形");if(a==b&&a==c&&b==c)printf("等邊三角形");if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(a*a==b*b+c*c))printf("直角三角形");}elseprintf("不是三角形");}程序運(yùn)行,輸入三邊長度,輸出結(jié)果如下綜合案例2自動(dòng)售貨機(jī)為客戶提供各種飲料,飲料的價(jià)格有三種:2元、3元和5元。用戶投入2元錢,可以選擇“凈凈礦泉水”、“甜甜礦泉水”和“美美礦泉水”之一。用戶投入3元錢,可以選擇“爽口可樂”、“清涼雪碧”和“雪山果汁”之一。用戶投入5元錢,可以選擇“草原奶茶”、“青青咖啡”和“甜美酸奶”之一。流程圖:源程序:#include<stdio.h>main(){unsignedshortmoney;chardrinkKind;printf("投入金額:2,3,5元(回車確認(rèn)):");scanf("%d",&money);getchar();//消耗回車if(money==2){printf("選擇凈凈礦泉水(A),甜甜礦泉水(B)和美美礦泉水(C)之一:\n");printf("輸入A,B或C:");drinkKind=getchar();switch(drinkKind){case'A':printf("得到凈凈礦泉水\n");break;case'B':printf("得到甜甜礦泉水\n");break;case'C':printf("得到美美礦泉水\n");break;default:printf("選擇錯(cuò)誤");}}elseif(money==3){printf("選擇爽口可樂(A),清涼雪碧(B),和雪山果汁(C)之一:\n");printf("輸入A,B或C:");drinkKind=getchar();switch(drinkKind){case'A':printf("得到爽口可樂\n");break;case'B':printf("得到清涼雪碧\n");break;case'C':printf("得到雪山果汁\n");break;default:printf("選擇錯(cuò)誤");}}elseif(money==5){printf("選擇草原奶茶(A),青青咖啡(B)和甜美酸奶(C)之一:\n");printf("輸入A,B或C:");drinkKind=getchar();switch(drinkKind){case'A':printf("得到草原奶茶\n");break;case'B':printf("得到青青咖啡\n");break;case'C':printf("得到甜美酸奶\n");break;default:printf("選擇錯(cuò)誤");}}else{printf("輸入的錢幣不符合要求");}}程序運(yùn)行,按要求輸入數(shù)據(jù),輸出結(jié)果如下綜合案例3已知某公司員工的保底薪水salary為500,某月所接工程的利潤profit(整數(shù))與利潤提成的關(guān)系如下(計(jì)量單位:元):profit≤1000 沒有提成;1000<profit≤2000 提成10%;2000<profit≤5000 提成15%;5000<profit≤10000 提成20%;10000<profit 提成25%。編程實(shí)現(xiàn):統(tǒng)計(jì)員工實(shí)際薪水?!咎崾尽慷x變量salary表示員工實(shí)際薪水,變量profit表示員工所接工程的利潤,考慮到工程利潤與利潤提成的關(guān)系有五種情況,故采用多路分支結(jié)構(gòu)編寫程序。為使用switch語句,必須將利潤profit與提成的關(guān)系,轉(zhuǎn)換成某些整數(shù)與提成的關(guān)系。分析本題可知,提成的變化點(diǎn)都是1000的整數(shù)倍(1000、2000、5000、……),如果將利潤profit整除1000,商用變量grade表示,則當(dāng):profit≤1000 grade可能為0、11000<profit≤2000 grade可能為1、22000<profit≤5000 grade可能為2、3、4、55000<profit≤10000 grade可能為5、6、7、8、9、1010000<profit grade可能為10、11、12、……為解決相鄰兩個(gè)區(qū)間的重疊問題,最簡單的方法就是:利潤profit先減1(最小增量),然后再整除1000即可。流程圖:源程序:#include<stdio.h>main(){longprofit;intgrade;floatsalary=500;printf("Inputprofit:");scanf("%ld",&profit);grade=(profit–1)/1000;switch(grade){case0:break; case1:salary+=profit*0.1;break;case2:case3:case4:salary+=profit*0.15;break; case5:case6:case7:case8:case9:salary+=profit*0.2;break;default:salary+=profit*0.25; }printf("salary=%.2f\n",salary);} 程序運(yùn)行,輸入利潤為8768,輸出結(jié)果如下綜合案例4求任一元二次方程ax2+bx+c=0的解。(a、b、c為方程的系數(shù),其中a≠0)【提示】求解一元二次方程的根有以下幾種可能性:①
當(dāng)a=0時(shí),不能構(gòu)成一元二次方程。②
當(dāng)b2-4ac=0時(shí),一元二次方程有兩個(gè)相等的實(shí)根。③
當(dāng)b2-4ac>0時(shí),一元二次方程有兩個(gè)不等的實(shí)根。④
當(dāng)b2-4ac<0時(shí),一元二次方程有兩個(gè)共軛復(fù)根。為了編程方便,設(shè)變量disc表示一元二次方程判別式b2-4ac,由于實(shí)數(shù)在計(jì)算機(jī)中運(yùn)算和存儲(chǔ)時(shí),不可避免地有會(huì)有一些微小誤差,因此在判別disc(為實(shí)數(shù))是否為零時(shí),不能直接與零比較,正確的方法是判斷其絕對(duì)值小于一個(gè)很小的常數(shù),如采用方法:if(fabs(disc)<=1E-6),而不是:if(disc==0.0)。流程圖:源程序:#include<stdio>#include<math.h">main(void){ floata,b,c,disc,x1,x2,p,q; printf("Pleaseinputa,b,c="); scanf(“%f,%f,%f”,&a,&b,&c);/*輸入一元二次方程系數(shù)*/ printf("Theequation:"); printf("%fx*x+%fx+%f=0”,a,b,c); if(fabs(a)<=1E-6)printf(“isnotquadratic\n”); else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) { printf(“hastwoequalroot:\n”); printf(“x1=x2=%8.2f\n”,-b/(2*a)); } else if(disc>1e-6) {x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);
printf("hasdistinctrealroots:\n"); printf("x1=%8.2f,x2=%8.2f\n",x1,x2);
}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026屆浙江省寧波市九校語文高三上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 人力資源管理與人才發(fā)展模板
- 項(xiàng)目運(yùn)作效率及成效保證承諾書范文6篇
- 美容美發(fā)行業(yè)服務(wù)過程中意外傷害免責(zé)合同
- 河南濮陽市2026屆英語高三第一學(xué)期期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 搬遷建設(shè)合同范本
- 擺售書籍合同范本
- 商場意向合同范本
- 培訓(xùn)年卡合同范本
- 合同轉(zhuǎn)移三方協(xié)議
- 口腔正畸學(xué)課件
- 血常規(guī)報(bào)告單模板
- 物聯(lián)網(wǎng)就在身邊初識(shí)物聯(lián)網(wǎng)課件
- 路基拼接技術(shù)施工方案
- 宏觀經(jīng)濟(jì)學(xué)PPT完整全套教學(xué)課件
- 陜09J02 屋面標(biāo)準(zhǔn)圖集
- 2023年上海清算登記托管結(jié)算試題試題
- 動(dòng)車組受電弓故障分析及改進(jìn)探討
- GB/T 41932-2022塑料斷裂韌性(GIC和KIC)的測定線彈性斷裂力學(xué)(LEFM)法
- 2023年浙江省大學(xué)生物理競賽試卷
- GB/T 2007.1-1987散裝礦產(chǎn)品取樣、制樣通則手工取樣方法
評(píng)論
0/150
提交評(píng)論