下面的程序如果输入500000,得到的结果是40000;而用计算器算应该是30500。
#include<stdio.h>
#include<stdlib.h>
int main()
{
double b;
long int a, c;//a为利润,b为奖金,c为奖金等级//
printf("请输入今年的利润:\n");
scanf_s("%d", &a);
if (a <= 100000) c = 1;
else
{
if (100000 < a <= 200000) c = 2;
else
if (200000 < a <= 400000) c = 3;
else
if (400000 < a <= 600000) c = 4;
else
if (600000 < a <= 1000000) c = 5;
else
if (a > 1000000) c = 6;
}
switch (c)
{
case 1:b = a * 0.1; break;
case 2:b = 100000 * 0.1 + (a - 100000) * 0.075; break;
case 3:b = 100000 * 0.1 + 100000 * 0.075 + (a - 200000) * 0.05; break;
case 4:b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (a - 400000) * 0.03;break;
case 5:b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (a - 600000) * 0.015; break;
case 6:b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (a - 1000000) * 0.01; break;
}
printf("利润为%d,奖金为%f\n", a, b);
system("pause");
return 0;
}