2022华为机试练习题及答案2022年华为机试练习题及答案华为机试并不难,只要你基础学问扎实,信任你可以顺当通过考试的,下面跟yjbys我一起来看看最新的华为机试练习题吧!题目描述:题目描述接近开学了,小C才想起来数学老师布置了暑假作业。暑假作业是许多张试卷,每张试卷所需的时间和获得的价值已知,请你帮他支第1页共11页配一下,用他仅剩的一点时间来做最有价值的作业。接口说明原型:intGetMaxValue(intnPapers,intnRemain,intpaper[][2],double*pMaxValue)输入参数:intnPapers:试卷的数目(1≤Papers≤20)intnRemain:表示剩余的时间(1≤nRemain≤10000)intpaper[][2]:nPapers*2的数组,每一行的两个元素依次为第2页共11页做完这一份试卷所需的时间、做完这份试卷获得的价值。假如剩余时间不够做完一份卷子,可依据剩余时间获得卷子的部分价值。输出参数:double*pMaxValue:获得的最大价值返回值:0:异样,1:胜利学问点:工程环境请运用VS2005代码第3页共11页/*---------------------------------------*日期:2022-06-30*作者:SJF0115*题目:Home+Work*来源:华为上机-----------------------------------------*/#include"OJ.h"#includeusingnamespacestd;第4页共11页/*输入:nPapers表示试卷的数目(1≤Papers≤20),nRemain表示剩余的.时间(1≤nRemain≤10000),paper[][2]是一个Papers*2的数组,每一行的两个元素依次为做完这一份试卷所需的时间、做完这份试卷的价值输出:*pMaxValue为获得的最大价值返回:0:异样第5页共11页1:计算胜利返回*/intGetMaxValue(intnPapers,intnRemain,intpaper[][2],double*pMaxValue){if(nPapers<0||nRemain<0||pMaxValue==NULL){return-1;}//if//计算性价比第6页共11页double*cost=newdouble[nPapers+1];for(inti=0;icost[j+1]){swap(cost[j],cost[j+1]);第7页共11页swap(paper[j][0],paper[j+1][0]);swap(paper[j][1],paper[j+1][1]);}//if}//for}//for//计算最大价值intindex=0;inttime,value;*pMaxValue=0;第8页共11页while(nRemain>0&&indexnRemain){*pMaxValue+=(double)nRemain/time*value;}//if//剩余时间可以做一份完整的试卷else{第9页共11页nRemain-=time;*pMaxValue+=value;}//else++index;}//while/*for(inti=0;i