zoukankan      html  css  js  c++  java
  • 返回一个整数数组中最大子数组的和

                                                  

    设计思路 :原本打算利用指针创建数组,然后根据for语句一次求出各个数组的和,后来感觉

    这样做太复杂,只能求助荣道,利用他的思路,直接计算各个数组的和,再与最大值比较。

      项目计划总结      
    姓名: 张少朋   日期:2015/3/24  
             
      找突破口 设计思路 编程 总结心得
    星期六 60分钟 20分钟 0 0
    星期日 0 30分钟 30分钟 0
    星期一 0   45分钟 10分钟

     代码:

    #include<iostream>
    #include<ctime>
    
    using namespace std;
    
    void main()
    
    {
    
        int a[10];             
    
        int f;               
    
        int i, j, k;             
    
        int sum, max = -100;      
    
        int m, n;               
    
    
    
        cout << "请输入数值范围:";
    
        cin >> f;
    
        srand((unsigned)time(NULL));
    
        for (i = 0; i<10; i++)
    
        {
    
            a[i] = (rand() % 2 ? -1 : 1)*rand() % f;
    
            cout << a[i] << "   ";
    
        }
    
        cout << endl;
    
    
    
        for (i = 0; i<10; i++)
    
        {
    
            for (j = 0; j <= i; j++)
    
            {
    
                sum = 0;
    
                for (k = j; k <= i; k++)
    
                    sum = sum + a[k];
    
                if (sum>max)
    
                {
    
                    max = sum;
    
                    m = j;
    
                    n = i;
    
                }
    
            }
    
        }
    
        cout << "子数组的最大值为:" << max << endl;
    
        cout << "子数组是第" << m + 1 << "个数,到第" << n + 1 << "个数。" << endl;
    
        cout << "子数组是:";
    
        for (i = m; i <= n; i++)
    
        {
    
            cout << a[i] << "  ";
    
        }
    
        cout << endl;
    
    }


    截图结果:

    个人总结:取的最大值没有在数组循环当中,m,n的取值为i,j。编程需要的是耐心,只有细节才能决定一切,不能只知道大概就以为自己学会了,引以为戒。

  • 相关阅读:
    vscode调试pomelo和pomelo使用vscode调试
    linux修改单个进程的系统时间
    python之路目录
    python之前端
    python之ORM操作
    python之redis和memcache操作
    python之消息队列
    python之协程与IO操作
    python之进程与线程
    python之网络编程
  • 原文地址:https://www.cnblogs.com/helloalbert/p/4387763.html
Copyright © 2011-2022 走看看