• 首次结对开发


    结对成员:郭庆樑,张科

    一、题目:返回一个整数数组中最大数组的和。

    要求:

    1、输入一个整型数组,数组里有正数也有负数;

    2、数组中连接的一个或多个整数组成一个子数组,每个子数组都有一个和;

    3、求素有子数组的和的最大值。

    二、本次实验中,郭庆樑主要负责程序分析,代码编程;我主要负责代码复审和代码测试

    三、代码

    #include<iostream.h>
    int main()
    {
       int a[10];
       int max[10];
       int Max;
       int i;
       int j;
       int b[10]={0};
       cout<<"请输入数组元素:(可为正数,可为负数)"<<endl;
       for(i=0;i<10;i++)
          cin>>a[i];
           max[0]=a[0];
           max[1]=a[0]+a[1];
           max[2]=a[0]+a[1]+a[2];
           max[3]=a[0]+a[1]+a[2]+a[3];
           max[4]=a[0]+a[1]+a[2]+a[3]+a[4];
           max[5]=a[0]+a[1]+a[2]+a[3]+a[4]+a[5];
           max[6]=a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6];
           max[7]=a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7];
           max[8]=a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8];
           max[9]=a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9];
           for(i=0;i<9;i+=2)
           {
              if(max[0]<a[i+1])
              {
                 max[0]=a[i+1];
                 b[0]=i+2;
              }
           }
           for(i=0;i<8;i++)
           {
              if(max[1]<(a[i+1]+a[i+2]))
              {
                 max[1]=a[i+1]+a[i+2];
                 b[1]=i+2;
              }
           }
           for(i=0;i<7;i++)
           {
                if(max[2]<(a[i+1]+a[i+2]+a[i+3]))
                {
                   max[2]=a[i+1]+a[i+2]+a[i+3];
                   b[2]=i+2;
                }
           }
           for(i=0;i<6;i++)
           {
              if(max[3]<(a[i+1]+a[i+2]+a[i+3]+a[i+4]))
              {
                 max[3]=a[i+1]+a[i+2]+a[i+3]+a[i+4];
                 b[3]=i+2;
              }
           }
             for(i=0;i<5;i++)
             {
                if(max[4]<(a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]))
                {
                   max[4]=a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5];
                   b[4]=i+2;
                }
             }
             for(i=0;i<4;i++)
             {
                if(max[5]<(a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6]))
                {
                   max[5]=a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6];
                   b[5]=i+2;
                }
             }
             for(i=0;i<3;i++)
             {
                if(max[6]<(a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6]+a[i+7]))
                {
                     max[6]=a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6]+a[i+7];
                     b[6]=i+2;
                }
             }
             for(i=0;i<2;i++)
             {
                if(max[7]<(a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6]+a[i+7]+a[i+8]))
                {
                   max[7]=a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6]+a[i+7]+a[i+8];
                   b[7]=i+2;
                }
             }
             for(i=0;i<1;i++)
             {
                if(max[8]<(a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6]+a[i+7]+a[i+8]+a[i+9]))
                {
                   max[8]=a[i+1]+a[i+2]+a[i+3]+a[i+4]+a[i+5]+a[i+6]+a[i+7]+a[i+8]+a[i+9];
                   b[8]=i+2;
                }
             }
             Max=max[0];
             for(i=1;i<10;i++)
             {
                if(Max<max[i])
                {
                   Max=max[i];
                   j=i;
                }
             }
        cout<<"最大值为:"<<Max<<endl;
          if(j==9)
             cout<<"组成元素位置:"<<j+1<<endl;
          else
              cout<<"组成元素位置:"<<j+1<<"   "<<b[j]<<endl;
             cout<<"(第一个数表示元素个数,第二个数表示元素从第几个开始。)"<<endl;
         return 0;
    }

    四、结果截图

     五、工作照

     

    六、问题与体会

    由于是初次的结对开发,我俩都有些不适应。刚开始我俩的思路不能很好地契合在一起,在课上经过讨论才达成一致,在课后完成了程序。

    之前我一直更加重视对代码的编写,这次合作提高了我对代码复审,测试的重视度。

     

  • 相关阅读:
    pyqt 设置QTabWidget标签页不可选
    C#分块读取文本数据(FileStream)
    C#IO读写文本txt文件中的数据
    C#IO读写文本txt文件中的数据
    Winform开发主界面菜单的动态树形列表展示
    Winform开发主界面菜单的动态树形列表展示
    C#LinqJoin两个DataTable
    C#LinqJoin两个DataTable
    c#转义字符
    c#转义字符
  • 原文地址:https://www.cnblogs.com/lsfh/p/4345650.html
Copyright © 2020-2023  润新知