zoukankan      html  css  js  c++  java
  • 软工第二周个人作业

    题目:

    定义一个整型数组,返回该数组中子数组和的最大值!

    思路:

    1.首先进行数组的遍历,对最大值进行初始化为数组的第一个元素,每次遍历,求得该子数组的和。

    2.将上值与最大值作max(a,b)操作,然后进行下一次的遍历,直到结束。

    方法:

    用到三个for循环。

    第一个 用来完成所有数组的循环。

    第二个用来表示从第几个元素开始,寻找子数组。

    第三个 用来获取每个子数组的和,等到遍历完全结束,返回最大值输出。

     1 import java.util.Scanner;
     2 
     3 public class shuzu {
     4     public static void main(String[] args){
     5         int number,maxsum;//定义2个整型
     6         
     7         int a;
     8         Scanner in = new Scanner(System.in);//输入
     9         System.out.println("请输入数组大小");
    10         number=in.nextInt();//将输入值存于number1·
    11         int array[]=new int[number];//由上述操作定义数组
    12         System.out.println("请输入数组的值:");
    13         for(a=0;a<number;a++) {
    14                  array[a]=in.nextInt();
    15         }  //数组定义完成
    16         //查询最大数组
    17      
    18         int i,j,k;
    19         int max[]=new int [number];
    20         for(i=0;i<number;i++){
    21             max[i]=array[i];
    22             k=array[i];
    23             for(j=i+1;j<number;j++){
    24                 k=k+array[j];
    25                 if(k>max[i])
    26                 {max[i]=k;}
    27             }
    28         }
    29         int m=max[0];
    30         for(i=1;i<number;i++)
    31         {
    32             if(max[i]>m)
    33             {m=max[i];}
    34         }
    35         System.out.println("所有连续子数组和的最大值为:"+m);
    36                 
    37     }
    38 }
    shuzu
  • 相关阅读:
    MUSIC分辨率与克拉美罗下界的关系
    EXCEL 基本函数
    新手如何正确的开始练车
    5.20考试整理
    树上倍增 x
    逆元 x
    BSGS ! x
    【テンプレート】LCA
    [HDOJ5783]Divide the Sequence(贪心)
    [HDOJ5791]Two(DP)
  • 原文地址:https://www.cnblogs.com/yeshenfeng/p/10507786.html
Copyright © 2011-2022 走看看