首次结对开发

结对成员:郭庆樑,张科

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

要求:

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;
}

四、结果截图

 五、工作照

 

六、问题与体会

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

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

 

原文地址:https://www.cnblogs.com/lsfh/p/4345650.html