课堂练习---求数组中子数组和的最大值

今天课上老师给我们出了一个结对开发的题目,让我们学会进行一个人编程一个人监督和引导的开发模式。

题目是求一个数组子数组中最大的,并且输出该值,可以有正负0。

课堂上我们的思路是进行分组,1个数,两个数,到6个数的子数组和都求出来然后求最大值。但是由于在进行

循环实现数组数字个数的变化时没有做出来,所以课上没做出来。

中午我们采纳了一开始想到的把前面求到的和利用起来的方式,比如a1,a2,求和后,用其值求a1,a2,a3的和

下面是我们的源代码,不足之处还忘多多指正。

 

 

#include<stdio.h>
int main()
{
    int a[6],b[6];
    int i,m,n;
    int j=0;
    for(i=0;i<6;i++)
        scanf("%d",&a[i]);
    for(i=0;i<6;i++)
    {
        m=a[i];
        n=a[i];
        j=i;
        while(j<6)
        {
            
            if(m<n)
            {
               m=n;
            }
            if(j<5)
            {
                j++;
                n=a[j]+n;
            }
            else 
                j++;
        }
        b[i]=m;
    }
    m=b[0];
    for(i=0;i<6;i++)
    {
        if(m<b[i])
            m=b[i];
    }
        printf("%d
",m);
    return 0;
}

 

遇到了错误比如对变量初值的设定,要用数组中的数,因为会有负数,不可以设零,还有小的格式问题,

数组输入时&符号的使用。

 

 小组成员:王丹

              祁子梁

原文地址:https://www.cnblogs.com/wangdan/p/3592857.html