自学C语言怎么尽快盈利,算最大利润的问题

这题没什么规律性,思路很绕,只能边想边动手,最终程序搞完了,思路还是不能很顺的说出,只能给你看代码了

21c92f7342edc52acb5684b0b88bdcec.png程序代码:main()

{

int a[9],tzmun=0,lrmun=0,tzmax=0,lrmax=0,i1,i2,j1,j2,k1,m; /*a数组标记投资的销售点,tzmun用做垒加每一次投资,lrmun用做垒加利润,tzmax用做保存一种投资方案的总投资额,lrmax用做保存所有投资方案的最大利润*/

int tz[9]={0,200,220,150,180,170,190,180,140}; /*tz数组存放投资金额*/

int lr[9]={0,36,40,50,22,20,30,25,48}; /*lr数组存放利润金额*/

for(i1=1;i1<=2;i1++)

{

tzmun=tz[i1];

lrmun=lr[i1];

for(i2=(i1==1)?2:1;i2>=1;i2--)

{

if(i2==2)

{

tzmun+=tz[i2];

lrmun+=lr[i2];

}

for(j1=4;j1<=5;j1++)

{

tzmun+=tz[j1];

lrmun+=lr[j1];

for(j2=(j1==4)?5:4;j2>=4;j2--)

{

if(j2==5)

{

tzmun+=tz[j2];

lrmun+=lr[j2];

}

for(k1=6;k1<=7;k1++)

{

tzmun+=tz[k1];

lrmun+=lr[k1];

if(j2!=5)

{

tzmun+=tz[8];

lrmun+=lr[8];

}

if(tzmun<=700) /*判断每种投资方案总金额是否小于或等于700*/

if(lrmun>lrmax) /*判断这次投资方案是否比前几次投次方案要好*/

{

lrmax=lrmun; /*if语句里记下最好的投资利润、总金额和投资给哪些销售点*/

tzmax=tzmun;

for(m=1;m<9;m++)

a[m]=0;

a[i1]=1;

a[i2]=1;

a[j1]=1;

if(j1==4)a[j2]=1;

a[k1]=1;

if(j2!=5)a[8]=1;

}

tzmun-=tz[k1];

lrmun-=lr[k1];

if(j2!=5)

{

tzmun-=tz[8];

lrmun-=lr[8];

}

}

if(j2==5)

{tzmun-=tz[j2];lrmun-=lr[j2];}

}

tzmun-=tz[j1];lrmun-=lr[j1];

}

if(i2==2)

{tzmun-=tz[i2];lrmun-=lr[i2];}

}

tzmun-=tz[i1];lrmun-=lr[i1];

}

printf("tzmax=%d\nlrmax=%d\n\n",tzmax,lrmax);

for(m=1;m<9;m++)

{

if(a[m]==1)printf(" a%d",m);

}

printf("\n");

for(m=1;m<9;m++)

{

if(a[m]==1)printf("%5d",tz[m]);

}

printf("\n");

for(m=1;m<9;m++)

{

if(a[m]==1)printf("%5d",lr[m]);

}

printf("\n\n");

}程序算出最好的投资是:a1 a5 a6 a8   总投资金额:700万  总利润:134万

运行结果:

tzmax=700

lrmax=134

a1   a5   a6   a8

200  170  190  140

36   20   30   48

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值