程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> printf-一個簡單c語言程序輸出的問題

printf-一個簡單c語言程序輸出的問題

編輯:編程解疑
一個簡單c語言程序輸出的問題

題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
程序如下:
int main()
{
long int i;
float b1,b2,b4,b6,b10,b11,b;
scanf("%ld", &i);
b1 = i*0.1;
b2 = b1 + (i-100000) *0.075;
b4 = b2 + (i-200000) *0.05;
b6 = b4 + (i-400000) *0.03;
b10 = b6 + (i-600000) *0.015;
b11 = b10 + (i-1000000)*0.01;
if(i<=100000)
b = b1;
else if(i<=200000)
b = b2;
else if(i<=400000)
b = b4;
else if(i<=600000)
b = b6;
else if(i<=1000000)
b = b10;
else
b = b11;

printf("bonus=%ld", b);

}
為什麼一運行輸出就是bonus=0?
求高手解答

最佳回答:


 int main()
{
    long int i;
    double b1, b2, b4, b6, b10, b11, b;
    scanf("%ld", &i);
    b1 = i*0.1;
    b2 = b1 + (i - 100000) *0.075;
    b4 = b2 + (i - 200000) *0.05;
    b6 = b4 + (i - 400000) *0.03;
    b10 = b6 + (i - 600000) *0.015;
    b11 = b10 + (i - 1000000)*0.01;
    if (i <= 100000)
        b = b1;
    else if (i <= 200000)
        b = b2;
    else if (i <= 400000)
        b = b4;
    else if (i <= 600000)
        b = b6;
    else if (i <= 1000000)
        b = b10;
    else
        b = b11;
    printf("bonus=%lf\n", b);
    system("pause");
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved