zoukankan      html  css  js  c++  java
  • 软件工程概论第三周测验---最大子数组

    1,设计思想:求出所有连续子数组的和,然后进行数组和的比较。一边求和,一边比较大小数组里面有正数有负数,当与负数相加,如果和小于等于0,和等于未加负数之前的和,与正数相加则等于加正数之后的和。

    2,代码:

    #include<iostream>
    
    #include<new>
    
    using namespace std;
    
     
    
    int main()
    
    {
    
    int n,i,sum=0;
    
    int *p;
    
        cout<<"请输入数组的长度:"<<endl;
    
    cin>>n;
    
    p=new int[n];//动态申请空间
    
    if (p == NULL)//申请是否成功判断
    
    {
    
    cout << "错误!"<<endl; 
    
            return 1;
    
    }
    
    int max=p[0];
    
    cout<<"请输入数组内的数:"<<endl;
    
    for(i=0;i<n;i++)
    
    {
    
    cin>>p[i];
    
    }
    
        for(i=0;i<n;i++)
    
        {
    
           if(sum<=0)
    
           {
    
              sum=p[i];         
    
           }
    
           else
    
           {
    
               sum=sum+p[i];    
    
           }
    
           if(sum>max)
    
           {
    
               max=sum;
    
           }
    
        }
    
            cout<<"子数组和的最大值为:"<<max<<endl;
    
    delete [] p;//释放动态空间
    
    return 0;
    
     
    
    }

    3,截图:

     

    4,总结:题目给我第一反应就是用数组来写,所以我就去找了大一下半年关于数组的程序,动态数组的程序和这个有些许类似,有所借鉴。一开始的思路是将数组中的每个数进行定义,然后相加,后来实行过程中比较麻烦。但是前一种思路相对简单吧。又复习了一遍数组解决问题编写程序的方法,感觉对数组的运用不是很好。

      姓名:朱慧敏                                                            日期:3/22

    任务/日期

    听课

    编程序

    阅读课本

    准备考试

    日总计

    周五

    210

    83

    293

    周六

    173

    105

    81

    369

    周日

    365

    365

    学生:朱慧敏                             日期:3/22/2015

    教师:王建民                             课程:软件工程概论

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    3/20

    10:00

    12:00

    10

    110

    上课

    软件工程概论

    2:00

    3:50

    10

    100

    上课

    概率论

    20:23

    21:46

    83

    写作业

    数据库

    3/21

    10:23

    11:44

    81

    写作业

    数据库概率论

    15:45

    17:30

    105

    看书

    梦断代码

    19:30

    22:23

    173

    编程序

    数组

    3/22

    8:30

    16:00

    运动休息

    骑行

    16:20

    23:05

    40

    365

    编程序

    发微博

    缺陷记录日志

    学生:朱慧敏                                              日期:3/22

    教员:王建民                                              程序号:3

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复时间

    修复缺陷

    3/22

    1

    编码

    编译

    3min

    }

    fatal error C1075: 与左侧的大括号“{”(位于“d:ddownloadsvs2008c程序shuzushuzumain.cpp(6)”)匹配之前遇到文件结束

  • 相关阅读:
    [ArcGIS API for JavaScript 4.8] Sample Code-Get Started-MapView,SceneView简介
    [C语言]易错知识点、小知识点复习(1)
    OpenID Connect Core 1.0(二)ID Token
    轻量ORM-SqlRepoEx 重大升级
    OpenID Connect Core 1.0(一)介绍
    轻量ORM-SqlRepoEx (五) 存储过程操作
    轻量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 语句
    轻量ORM-SqlRepoEx (三)Select语句
    轻量ORM-SqlRepoEx (二)初始化SqlRepoEx
    轻量ORM-SqlRepoEx (一)SqlRepoEx介绍
  • 原文地址:https://www.cnblogs.com/15732115368zhm/p/4357835.html
Copyright © 2011-2022 走看看