下面是关于C语言的基本概念和编程方面的叙述,回答问题,将答案填入对应栏内。 【说明】 企业根据利润提成发放奖金。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成15%;利

admin2018-11-21  33

问题 下面是关于C语言的基本概念和编程方面的叙述,回答问题,将答案填入对应栏内。
【说明】
企业根据利润提成发放奖金。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成15%;利润在20万到40万之间时,高于20万元的部分,可提成20%;40万到60万之间时高于40万元的部分,可提成25%;60万到100万之间时,高于60万元的部分,可提成30%;高于100万元时,高于100万元的部分可提成35%。已知企业本年度12个月的月利润存储在数组profit中,程序要求根据月利润计算月奖金并存储到数组bonus中,然后计算并返回该企业的年度总利润total_profit。该程序的实现如下:
【程序】
int calculate—bonus(const int profit[],int bonus[])

int n=12;
int i=0;
int sum_profit=0;
int bonus1,bonus2,bonus4,bonus6,bonus10;
bonus1=100000*0.1;
bonus2=bonus1+100000*0.15;
bonus4=bonus2+200000*0.2;
bonus6=bonus4+200000*0.25;
bonus10=bonus6+400000*0.3;
for(i=0;i<n;i++)
{
if(profit<=100000)
(1)
else if(profit<=200000)
(2)
else if(profit<=400000)
(3)
else if(profit<=600000)
(4)
else if(profit<=1000000)
(5)
else
(6)

/*以下代码计算年度总利润*/
i=0;
while(i<n)
sum profit+=profit[++i];
return  sum_profit;

根据题意分析程序,完成程序中的(1)~(6),每个空行只能写一行代码,即用一条语句来描述,将答案写到相应的位置。

选项

答案(1)bonus[i]=profit[i]*0.1 (2)bonus[i]=bonus1+(profit[i]一100000)*0.15 (3)bonus[i]=bonus2+(profit[i]一200000)*0.20 (4)bonus[i]=bonus4+(profit[i]一400000)*0.25 (5)bonus[i]=bonus6+(profit[i]一600000)*0.30 (6)bonus[i]=bonus10+(profit[i]一1000000)*0.35

解析 根据题意,企业员工在1月到12月份创造的利润分别保存在profit[0]到profit[11]之中,作为计算每个月奖金的输入,用const修饰,在函数执行期间不能改变。而根据利润计算出每的奖金则做为输出数组保存在bonus[0]到bonus[11]中。
    根据说明计算方法,程序calculate bonus的前半部分为计算1到12月的奖金。
    当利润低于或等于10万元时,奖金可提10%,故填空(1)应填入bonus=profit*0.1:
    当利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成15%;故填空(2)应填入bonus=bonus1+(profit一100000)*0.15;
    当利润在20万到40万之间时,高于20万元的部分,可提成20%,故填空(3)应填入bonus=bonus2+(profit一200000)*0.20;
    当40万到60万之间时高于40万元的部分,可提成25%,故填空(4)应填入bonus=bonus4+(profit一400000)*0.25;
    当60万到100万之间时,高于60万元的部分,可提成30%,故填空(5)应填入bonus=bonus6+(profit一600000)*0.30;
    当高于100万元时,高于100万元的部分可提成35%,故填空(6)应填入bonus=bonusl0+(profit一1000000)*0.35。
所以,正确且完整的calculate bonus函数如下:
int calculate_bonus(const int profit[],int bonus[])
{
Int n=12;
int i=0;
int sum_profit=0;
int bonus1, bonus2,bonus4,bonus6,bonus10;
bonus1=100000*0.1;
bonus2=bonus1+100000*0.15;
bonus4=bonus2+200000*0.2;
bonus6=bonus4+200000*0.25;
bonus10=bonus6+400000*0.3;
for(i=0;i<n;i++)
{
if(profit<=100000)
bonus=profit*0.1;
else if(profit<=200000)
bonus=bonus1+(profit一100000)*0.15;
else if(profit<=400000)
bonus=bonus2+(profit一200000)*0.20;
else if(profit<=600000)
bonus=bonus4+(profit一400000)*0.25;
else if(profit<=1000000)
bonus=bonus6+(profit一600000)*0.30;
else
bonus=bonus10+(profit一1000000)*0.35;

/*以下代码计算年度总利润*/
i=0;
while(i<n)
sum_profit +=profit[i++];
return sum_profit;
转载请注明原文地址:https://jikaoti.com/ti/p6I7FFFM
0

相关试题推荐
随机试题
最新回复(0)