每日一题:最优利润值

题目描述

你在读的经营课程上,老师布置了一道作业。在一家公司的日常运营中,是会对一些商品的价格走势根据一些经验和数据进行预估,并据此进行决策。例如,假设某商品每天的价格都有可能变动,我们要做的就是低买高卖获得最高利润。比如假设我们预估该商品接下来七天内的价格走势如下: 4 1 2 3 6 4 8 那我们采取的最佳策略是在价格1块钱的时候买入,在价格8块钱的时候卖出。为了简化整个过程,我们限定在此周期内只能有一次买入一次卖出,且商品在没有购入前是无法卖出的,即该商品不是期货而是现货。 现要求你用程序来实现自动决策。输入一定天数的商品预估价格,自动计算出最优利润值。例如,上面的例子中,最优利润值为8-1=7。(简单起见,只考虑0-100000之间的整数价格)

输入描述:

输入一个数组,分别表示各天的预估价格

输出描述:

根据输入的预估价格,算出并输出最优的利润值。

示例 

示例1

输入

4 1 2 3 6 4 8

输出

7

完整代码如下:

#include <stdio.h>
int a[7],b[7];//定义成全局变量方便函数调用 
// 函数Findthebest 找数组a对应元素的最大差值,并把结果储存在b数组中 
void Findthebest()
{
	int i,j;
	for(i=0;i<7;i++){
		int max=i;
		for(j=i;j<7;j++){
			if(a[max]<a[j]){
				max=j;
			}
		}
		b[i]=a[max]-a[i];
	}
}
int main()
{
	for(int i=0;i<7;i++){ 
		scanf("%d",&a[i]);
	}
	Findthebest(); 
	int max=0;//找b[i]中的最大值 
	for(int i=0;i<7;i++){
		if(b[max]<b[i]){
			max=i;
		}
	}
	printf("%d\n",b[max]);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值