首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数。 [说明] 某工厂A负责为某大型企业B加工零件,A每天必须为B提供一定数量的零件。由于某种客观原因,A每天生产的零件的单价都不相同。若A某天生产的零件数多于B需要的数目,则多余的零件可以放到第二天及以后再使用,但需要收
阅读以下说明和C语言函数。 [说明] 某工厂A负责为某大型企业B加工零件,A每天必须为B提供一定数量的零件。由于某种客观原因,A每天生产的零件的单价都不相同。若A某天生产的零件数多于B需要的数目,则多余的零件可以放到第二天及以后再使用,但需要收
admin
2008-05-10
81
问题
阅读以下说明和C语言函数。
[说明]
某工厂A负责为某大型企业B加工零件,A每天必须为B提供一定数量的零件。由于某种客观原因,A每天生产的零件的单价都不相同。若A某天生产的零件数多于B需要的数目,则多余的零件可以放到第二天及以后再使用,但需要收取每个零件的保管费(产品单价之外附加的费用),每个零件在不同日期收取的保管费也不相同。
例如,在5天的生产中,B要求的零件需求量及A核算出的零件单价和保管费用如表1所示。
A可以制订多种生产计划,但费用可能不同。例如,表2所示为生产计划及其费用。
注:(1)计划1的总费用:25*20+15*30+30*32+35*25+30*35=3835(元)
(2)计划2的总费用;40*20+15*4.5+30*32+50*25+15*5.5+15*35=3685(元)
(3)计划3的总费用:70*20+45*4.5+30*8+65*25+30*5.5=3632.5(元)
(4)计划4不可行,虽然第一大和第二天生产的零件总数比需求量多5个,但加上第三天生产的20个零件(共25个),仍不能满足B第三天的需求量(30个)。
函数find_a_plan(FILE*in)的功能是:从文件中读入若干个生产计划,从可行的计划中选出费用最小者,记录该生产计划并返回该最小费用。
全局结构体数组data[]用于保存表1所示的数据(data[0]不用),说明如下:
data
.Qty_req:int型,表示第i天的零件需求量。
data
.Price: double型, 表示第i天生产的零件单价(元)
data
.Keeping_fee: double型, 表示第i天保管单个零件的费用(元)
[C语言函数]
intB_s[DAYS+1]; /*记录成本最小的生产计划,B_s[0]不用,DAYS定义为天数*/
double find_a_plan(FILE *int)
{ iht P_nm[DAYS+1],acc_req[DAYS+1];
int i,tag = 0,acc_qty = 0;
double mincost = 1.0e20,cost_Produce,cost_Keep;
for(i = 1;i <= DAYS; i++) { /*第i天时的累计零件需求量存入acc rcq
*/
acc_qty += data
.Qty_req;
acc_req
= acc qty;
}
while (!feof(int)) {
for(i = 1; i <= DAYS; i++ )/*读入一个生产计划,第i天的产量存入P_num
*/
if (!feof(inf))
fseant[inf,"%d",&P_num
);
tag = 0; cost_Produce = 0; cost_Keep = 0;
for(i = 1,(1);i <= DAYS; i++){ /*考查当前的生产计划*/
acc qty += P_num
; /* acc_qty 计录到第i天时的累计零件生产量*/
if (acc_qty < acc_req
) {/*当前生产计划不能满足需求*/
tag = 1; break;
}/*if*/
cost_Produce +=(2); /*计算当前生产计划的总需件价格*/
cost_Keep += ((3)) * data
,Keeping_fee;
}/*for*/
if((4)) /* 若当前生产计划不可行,则继续读取下一计划*/
continue;
if((5)) { /*记录成本更小的生产计划*/
mincost = costProduce + cost_Keep;
for(i = 1; i <=DAYS; i++)
B_s
= P num
;
}/*if*/
}/*while*/
return mincost;
}
选项
答案
(1)acc_qty=0 (2)P num[i]*data[i].Price,或其等价形式 (3)acc_qty-acc_req[i],或其等价形式 (4)tag,或tag==1,或tag!=0,或其等价形式 (5)cost_Produce+cost_Keep<mincost
解析
本题考查用C程序求解具有实际应用背景的问题。
对这类问题,一般在描述问题的背景时,会详细说明程序应实现的功能,并通过对示例数据的求解给出程序中对数据的处理过程。阅读这类程序时,应准确理解程序中定义的数据类型及其变量的作用,这是完善程序中空缺位置的关键所在。
从题目中可知,结构体数组data[]是全局变量,分别用分量Qty_req、Price和 Keeping_fee保存每天的零件需求量、零件的单价及保管费用,也需要注意数组元素data[0]不使用。
由于每天生产的零件还可以保存起来以后再使用,因此考查零件的生产数量是否满足需求时,需要从累计数量考查。为方便计算,程序中提前计算出累计的零件需求量并按天保存在数组acc_req口中。应注意第i天生产的零件数存在P_num
中。
借助于注释可知i是循环控制变量,同时起计算天数时的序号作用。由代码“acc qty +=P_num
;”及注释可知变量acc_qty保存累计的零件生产量,因此之前必须将acc_qty初始值设为0,因此空(1)处填入“acc qty=0”。由于cost Produce保存的是到第i天时当前生产计划的总零件价格,因此应计算出第i天生产的零件总价格,所以空(2)处填入“P hum
。data
.Price”。显然,到第i天时累计生产的零件数减去累计的需求数就是应保存的零件,所以累计的零件保管费用为“cost_Keep+=(acc_qty-acc_req
* data
.Keeping_fee;”,即空(3)处填入“ace_qty-ace_req
”。
另外,从变量tag所起的作用看,它用于标志生产计划是否能满足要求。根据以下代码,
if(acc_qty<acc_req
){/*当前生产计划不能满足需求*/
tag=1; break;
}/*if*/
可知当前生产计划不能满足需求时,tag等于1。很明显,空(4)处应填入“tag==1。零件的成本包括生产价格和保管费用两部分,所以空(5)处填入“cost Produce+ cost+Keep<mincost”。
转载请注明原文地址:https://kaotiyun.com/show/msjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel中,函数average(a,b,c)表示求a,b,c的______。
信息处理人员需要培养信息意识。信息意识的内涵一般不包括(65)。
下列选项中,不属于计算机外部设备的是_______。
某企业今年1至4月的销售额依次为a1、a2、a3、a4时,现采用加权平均来预测5月份的销售额。权重的比例为1:2:3:4,时间越近则权重越大,预测的结果为_______。
数据处理技术员小王为了本企业的利益做了如下几项数据处理,其中________是违法的。
以下叙述中,针对应用需求,(68)选用了不适当的信息处理方法。
海关为严查一批进口食品罐头含铅量是否超标宜采用的方法是______。
对用户来说,信息系统的(14)反映了系统的功能。
将四个元素a,b,c,d分成非空的两组,不计组内顺序和组间顺序,共有()种分组方法。
随机试题
A.“外风”致病B.“内风”致病C.两者均有D.两者均无
轮学说中两眦属于
患者女性,45岁,G3P2,因“月经周期延长、经量增多1年,阴道大量出血伴心慌、乏力1周”就诊。患者有吸烟史。自1年前开始出现月经周期延长,由原来的30天逐渐增加到2~3个月,月经量时多时少,最多5片/天(夜用,42cm),无明显痛经。2月前单位查体发现贫
A.血浆凝血酶原时间延长B.血小板计数减少、血块退缩不良C.血小板计数正常、毛细血管脆性试验阳性D.3P试验(+)E.ATPP延长血友病
某男性磨床操作工,工龄12年,体检时发现X线胸片可见不规则小阴影,调离原接尘岗位1年后复查,小阴影密度减低,数量减少,考虑该患者为
研究制定融资方案首先应确定项目的(),据以拟定相应的投资产权结构和融资组织形式。
若在工作组中选取一组单元格,则其中活动单元格的数目是()。
正当防卫超过必要的限度,造成他人损害的,正当防卫人不承担责任。()
Inademocraticsocietycitizensareencouragedtoformtheirownopinionsoncandidatesforpublicoffices,taxes,constitution
A、Dollarsandcents.B、Freedom.C、Opportunities.D、Security.B
最新回复
(
0
)