题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
class Program
{
/// <summary>
/// 题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
double rich = 0;
int[] array = { 1000000, 600000, 400000, 200000, 100000, 0 };
double[] rate = { 0.01, 0.15, 0.03, 0.05, 0.075, 0.1, };
long num = getUserI();
for (int i = 0; i < 6; i++)
{
if (num > array[i])
{
rich += ((num - array[i]) * rate[i]);
num = array[i];
}
}
Console.WriteLine(rich);
Console.ReadKey();
}
/// <summary>
/// 用于验证输入
/// </summary>
/// <returns></returns>
private static long getUserI()
{
long num = 0;
while (true)
{
Console.WriteLine(" 请输入当月利润I=");
try
{
string I = Console.ReadLine();
num = Int32.Parse(I.Trim());
if (num != null)
{
return num;
break;
}
}
catch (Exception)
{
Console.WriteLine("请输入一个整数值");
}
}
}
}