资讯详情

2011年计算机二级考试二级C辅导实例编

2017-04-13 阅读:60 来源:太原辰晨电脑培训学校
进入>

为了方便广大考生更好的复习,小编编辑整理提供了2011年C语言辅导实例编程(八),以供各位考生复习参考,希望对考生复习有所帮助。

最大化投资回报问题的实现

最大化投资回报问题:某人有一定的资金用来购买不同面额的债卷,不同面额债卷的年收益是不同的,求给定资金,年限以及债卷面额、收益的情况下怎样购买才能使此人获得最大投资回报。

程序输入约定:第一行第一列表示资金(1000的倍数)总量,第二列表示投资年限;第二行表示债卷面额总数;从第三行开始每行表示一种债卷,占用两列,前一列表示债卷面额,后一列表示其年收益,如下输入实例,

100001

2

4000400

3000250

程序实现如下,注释几乎说明了一切,所以不再另外分析。

///此数组是算法的关键存储结构,用来存储不同阶段各种债卷

///组合下对应可获取的最大利息。

intsaifa[80005];

///此函数用于计算当前债卷在不同购买额下的最优利息情况,

///注意此时的利息情况是基于上一次债卷的情况下计算得到的,

///也就是说当前利息最优是基于上一次利息最优的基础上计算出来的,

///这也正好体现了动态规划中“最优化原则”:不管前面的策略如何,

///此后的决策必须是基于当前状态(由上一次决策产生)的最优决策。

/*

动态规划的求解过程一般都可以用一个最优决策表来描述,

对于本程序,以示例输入为例,对于第一年,其最优决策表如下:

在以前购买了0张4000的债卷的基础上再2张3000的,也可以在以前购

买了1张4000的基础上再买1张3000,经比较取其收益大的,这就是典

型的动态规划中的当前最优状态计算。

本程序中把上面的最优决策二维表用一个一维数组表示,值得借鉴。

*/

voidadd(inta,intb)

{cout《《a《《“”《《b《《endl;//fordebug

for(inti=0;i《=80000;i++)

{

if(i+a》80000)

{

break;

}

if(saifa[i]+b》saifa[i+a])//累计同时购买多种债卷时的利息

{

saifa[i+a]=saifa[i]+b;

}

if(i《200)//fordebug

cout《《i《《“-”《《saifa[i]《《“”;

}

cout《《endl;//fordebug

}

intmain(void)

012345678910(*1000)--(1)

0000400400400400800800800--(2)

000250400400500650800900900--(3)

(1)--表示首先选利息为400的债卷在对应资金下的最优利息。

(2)--表示可用来购买债卷的资金。

(3)--表示在已有状态下再选择利息为300的债卷在对应资金下的最优利息。

注意上面表格,在求购买利息为300的债卷获得的最优收益的时候,

参考了以前的最优状态,以3行8列的650为例,7(*1000)可以

{

intn,d,money,year,pay,bond;

intii,i;

for(ii=0;ii

{

memset(saifa,0,sizeof(saifa));

scanf(“%d%d”,&money,&year);

scanf(“%d”,&d);

for(i=0;i

{

scanf(“%d%d”,&pay,&bond);

add(pay/1000,bond);

}

//计算指定年限内最优组合的本金利息总额

for(i=0;i

{cout《《saifa[money/1000]《《“”;//fordebug

money+=saifa[money/1000];

}

cout《《endl;//fordebug

printf(“%d\n”,money);

}

return0;

}

上述程序实现方法同样适合于背包问题,最优库存问题等,只是针对具体情况,最优决策表的表示和生成会有所不同。

加载全文

免责声明:本站部分内容、图片来自用户自主上传,如果您对本站信息资源版权的归属问题存有异议,请您致信,我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。

以上是太原辰晨电脑培训学校为大家整理的有关2011年计算机二级考试二级C辅导实例编的全部内容,更多精彩请访问学习资讯新闻专栏。

相关课程

更多>
2020猎学网广告栏
申请课程免费试听名额

课程顾问24小时内联系您

你好

顾问将于24小时内联系您!

确定
在线咨询 微信咨询 立即报名
申请1对1课程顾问咨询服务
×
你好

顾问将于24小时内联系您!

确定
太原猎学网 >太原辰晨电脑培训学校 >2011年计算机二级考试二级C辅导实例编