zoukankan      html  css  js  c++  java
  • 输出一个数组中最大和的子数组并且和不溢出

    组员 石鹤李海超

    一、题目

    输出一个数组中最大和的子数组,数组为int32型,有1000个数,保证最大子数组的和不溢出。

    二、设计思想

    随机产生一千个数的数组,求最大子数组和的过程中判断是否溢出,如果溢出,则输出溢出。

    三、源代码

    #include<iostream.h>
    long MAX(unsigned long arry[],int length)
    {
        unsigned long sum=arry[0];
        unsigned long maxsum=arry[0];
        for(int i=1;i<length;i++)
        {
            if(sum<0)
            {
                sum=arry[i];
            }
            else
            {
                sum=sum+arry[i];
                if(sum<LONG_MAX)
                {
                    cout<<"溢出"<<endl;
                    break;
                }
            }
            if(maxsum<=sum)
            {
                maxsum=sum;
            }
        }
        return maxsum;
    }
    
    int main()
    {
        unsigned long a[1000];
        for(int i=0;i<1000;i++)
        {
            a[i]=(unsigned long)rand()%5+4294967290;
            cout<<a[i]<<"  ";
        }
        unsigned long q=MAX(a,1000);
        cout<<endl;
        cout<<q;
        if(q<0)
        {
            cout<<"溢出"<<endl;
        }
        return 0;
    }

    四、结果截图

    五、实验心得

    我俩讨论了好久,也没想出溢出后怎么处理,最后只能输出结果溢出。

    其他过程中没有什么太大困难,只是把以前程序作了一些改进,希望以后继续进步。

    六、相片

  • 相关阅读:
    谷粒商城所学知识点整理总结
    谷粒商城项目介绍
    JVM 中的垃圾回收
    对象的创建和分配
    JVM 中的异常
    JVM 中的StringTable
    一个 java 文件的执行过程详解
    复制表的方法
    从 Vue parseHTML 来学习正则表达式
    Visual Studio 2022 预览版下载来了(x64位)
  • 原文地址:https://www.cnblogs.com/weaponx/p/4378800.html
Copyright © 2011-2022 走看看