jekaterina 2015-09-30 13:22 采纳率: 0%
浏览 3195

C++ 计算股票最大利润的代码

这个是学校功课,老师限制不让用array。

这个program的用法是输入一串价格,最后输入-1,然后就会output最大利润。
例如我输入20,10,30,40,-1,前面几个数字分别代表第一天第二天第三天第四天股票的价格,
那么假设我在第二天买进,第四天卖出,我将获得最大利润(40-10)=30。
现在我唯一的问题是我写的代码处理不了这种情况,例如
我输入20,30,10,我这个program会把10当成最小值,然后output最大利润为
(30-10),请问各位能帮我修改代码,避免这种错处吗?
或者有其他代码能够完成这个作业?

``
#include
using namespace std;
int main(){
int c(0),r(0),n1(0),min(0),max(0),l(0),s(0);
cout<<"Please enter the prices: ";

while(n1!=-1){
    cin>>n1;
    if(min==0 && n1>0)
        {min=n1;}

    c++;
    if(n1<=0 && n1!=-1) {cout<<"Invalid. Input again. Please make sure it's a positive number!"<<endl;r++;}
    else {

    if(n1<min && n1!=-1 && c<=l) {min=n1; s++;}
    if(n1>=max && (c-r)>(s+1)) {max=n1; l=c;}

cout<<c<<s+1<<l<<endl;
}
}

cout<<max<<min;
cout<<endl<<"Largest amount earned: "<<(max-min)<<endl;




return 0;

}


  • 写回答

3条回答 默认 最新

  • 灰大柱_1 2015-09-30 13:33
    关注

    后面的减前面的,全部减过一篇,取结果最大值

    评论

报告相同问题?

悬赏问题

  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 微信小游戏反编译后,出现找不到分包的情况
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)