• 软件工程概论第三周测验---最大子数组


    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)”)匹配之前遇到文件结束

  • 相关阅读:
    葡萄城报表介绍:数据报表的七个原则
    while(scanf("%d",&n)!=EOF)
    不容易系列之(3)—— LELE的RPG难题
    错排公式
    _​_​i​n​t​6​4​ ​与​l​o​n​g​ ​l​o​n​g​ ​i​n​t
    杭电ACM 2046 阿牛的EOF牛肉串
    C++Builder 中使用 __int64 整数的问题
    折线分平面——杭电2050
    复合梯形公式与复合辛普森公式求积分
    两套蓝桥杯热身题
  • 原文地址:https://www.cnblogs.com/15732115368zhm/p/4357835.html
Copyright © 2020-2023  润新知