C语言算法小实例2
C語言算法小實(shí)例
二. 企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤提成。
利潤(I)低于或等于10萬元時(shí),獎(jiǎng)金可提10%;
利潤高于10萬元,低于20萬元時(shí),低于10萬元的部分按10%提成,高于10萬元的部分,可提成7.5%;
20萬到40萬之間時(shí),高于20萬元的部分,可提成5%;
40萬到60萬之間時(shí)高于40萬元的部分,可提成3%;
60萬到100萬之間時(shí),高于60萬元的部分,可提成1.5%;
高于100萬元時(shí),超過100萬元的部分按1%提成。
從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?
思路分析:根據(jù)題意可得,該題屬于分段函數(shù),可先列出其相應(yīng)的數(shù)學(xué)公式,再將其轉(zhuǎn)化成C語言代碼。可用if語句、if-else語句或if-else if-else語句,本題采用if-else if-else語句。
#include<stdio.h> int main() {double x,y; //x為公司當(dāng)月利潤,y為應(yīng)發(fā)獎(jiǎng)金總數(shù)printf("輸入公司的當(dāng)月利潤:");scanf("%lf",&x);if(x<=100000)y=0.1*x;else if(x>100000&&x<=200000)y=10000+(x-100000)*0.075;else if(x>200000&&x<=400000)y=10000+7500+(x-200000)*0.05;else if(x>400000&&x<=600000)y=10000+7500+10000+(x-400000)*0.03;else if(x>600000&&x<=1000000)y=10000+7500+10000+6000+(x-600000)*0.015;elsey=10000+7500+10000+6000+6000+(x-1000000)*0.01;printf("%.2f",y); return 0; }總結(jié):
1.要注意審題,明確獎(jiǎng)金和利潤的關(guān)系,從而列出正確的數(shù)學(xué)公式。
2.要注意區(qū)分if語句、if-else語句或if-else if-else語句之間的區(qū)別。即
(1)if語句:當(dāng)滿足條件表達(dá)式1時(shí),執(zhí)行語句1,否則,都不執(zhí)行;
(2)if-else語句:當(dāng)滿足條件表達(dá)式1時(shí),執(zhí)行語句1,否則,執(zhí)行語句2;
(3)if-else if-else語句:當(dāng)滿足條件表達(dá)式1時(shí),執(zhí)行語句1,當(dāng)不滿足條件表達(dá)式1時(shí),判斷是否滿足條件表達(dá)式2,若滿足則執(zhí)行語句2,如果仍然不滿足條件表達(dá)式2,則繼續(xù)判斷是否滿足下一個(gè)條件表達(dá)式,直至最后到else語句,執(zhí)行else語句所對(duì)應(yīng)的語句。
3.變量名不要用x、y、z等無代表含義的名稱,最好使用具有想關(guān)含義的英文來表示變量。
4.在本題中,如果寫明單位為萬元,那么代碼中的許多數(shù)字便可不加那么多零了。
總結(jié)
- 上一篇: RDP服务开启
- 下一篇: html编写阶乘,阶乘的实现